Why a Freelancer’s Smart Contract?

I began my career building software for companies as a freelancer in my teens back in the late 90s. It was the best, or worst of times depending on how you see it. Apart from honing my development skills, I learned how to price my service and negotiate terms of payments so that I would be paid in stages as I delivered codes. These were skills I kept dear and near till today.

But it certainly wasn’t easy. There was one project that I completed just before I was sent away on 10 weeks’ military training. As a result, it…


This is the 2nd part of a 4-part series that document my process of building a Decentralized Application (DApp) for freelancers to receive multiple partial payments for a project that he undertakes with a client.

Photo by Cathryn Lavery on Unsplash

For a step-by-step guide on the business logic of this process, refer to part 1 of this series. The source codes for the project can be found in the project’s Github repository.

In the second part of this series, I will walk through the Decentralized Applications that let the programmer and his client arrange payments, pay, and get paid in ETHs.

How It Works

There…


This series of tutorial documents my process of building an Ethereum faucet on the Ropsten Testnet. This is the 4th article of the series and it explains the codes behind the Faucet Web App. The Faucet Web App allows requesters to provide their Wallet address to let the faucet dish out free ETH to them.

  1. Ropsten Ethereum Faucet: How it works
  2. Ropsten Ethereum Faucet: Smart Contract
  3. Ropsten Ethereum Faucet: JSON Web Service
  4. Ropsten Ethereum Faucet: Web App

The source codes for this project are in the project’s Github repository and the faucet smart contract is accessible here.

Photo by Kirsten Marie Ebbesen on Unsplash

Not a DApp


This series of tutorial documents my process of building an Ethereum faucet on the Ropsten Testnet. This is the 3rd article of the series and it explains the codes behind the JSON Web Service. The JSON Web Service performs the role of dishing out free ETH when the requester provides his Ethereum wallet address and the number of ETHs he wishes to receive.

  1. Ropsten Ethereum Faucet: How it works
  2. Ropsten Ethereum Faucet: Smart Contract
  3. Ropsten Ethereum Faucet: JSON Web Service
  4. Ropsten Ethereum Faucet: Web App

The source codes for this project are in the project’s Github repository and the faucet…


Motivation

This series of tutorial documents my process of building an Ethereum faucet on the Ropsten Testnet. This is the 2nd article of the series and it explains how the Faucet Smart Contract works.

Photo by Zbysiu Rodak on Unsplash
  1. Ropsten Ethereum Faucet: How it works
  2. Ropsten Ethereum Faucet: Smart Contract
  3. Ropsten Ethereum Faucet: JSON Web Service
  4. Ropsten Ethereum Faucet: Web App

The source codes for this project are in the project’s Github repository and the faucet smart contract is accessible here.

Discover and review best Ethereum development tools

Setting up the Faucet Smart Contract


This series of tutorial documents my process of building an Ethereum faucet on the Ropsten Testnet. The development of a faucet was borne out of necessity. In my regular engagements and workshops, I frequently give out ETHs to participants to let them try out stuff. But being new to these things, it isn’t so straightforward to simply transfer ETHs to them. And sometimes, the various Ropsten faucets out there don’t perform too reliably.

So I built my own faucet.

Photo by Kazuky Akayashi on Unsplash

This tutorial will be presented in 4 parts:

  1. Ropsten Ethereum Faucet: How it works
  2. Ropsten Ethereum Faucet: Smart Contract
  3. Ropsten Ethereum…


This is the last of the 5 articles I wrote to explain how an end-to-end Balloting system on Ethereum might work. In this segment, I will explain the codes behind the Voting module of the DApp.

Photo by Michael on Unsplash

1. Voting on a Blockchain: How it works
2. Voting on a Blockchain: Solidity Contract Codes explained
3. Voting on a Blockchain: DApp Demonstration
4. Voting on a Blockchain: Ballot Management DApp Code Walk-through
5. Voting on a Blockchain: Voting DApp Code Walk-through

In May, I was invited to give a talk about the role of Blockchain in Democratic societies to a group in…


This is the 4th of 5 articles to explore the development of an end-to-end Balloting system on Ethereum. In this article, I will explain the codes behind the Ballot Management module of the DApp.

Photo by Jesse Collins on Unsplash

Do check back often as I work on the rest of the articles in this series.

1. Voting on a Blockchain: How it works
2. Voting on a Blockchain: Solidity Contract Codes explained
3. Voting on a Blockchain: DApp Demonstration
4. Voting on a Blockchain: Ballot Management DApp Code Walk-through
5. Voting on a Blockchain: Voting DApp Code Walk-through

Recap

The Ballot Management Module of the…


This is the 3rd of 5 articles to explore the development of an end-to-end Balloting system on Ethereum. In this article, I will demonstrate how the voting DApp works. This is a demonstration you can try.

Photo by Ming Jun Tan on Unsplash

Do check back often as I work on the rest of the articles in this series.

1. Voting on a Blockchain: How it works
2. Voting on a Blockchain: Solidity Contract Codes explained
3. Voting on a Blockchain: DApp Demonstration
4. Voting on a Blockchain: Ballot Management DApp Code Walk-through
5. Voting on a Blockchain: Voting DApp Code Walk-through

Getting Started

Visit MetaMask to…


This is the 2nd of 5 articles to explore the development of an end-to-end Balloting system on Ethereum. In this article, i will walk through the codes the Balloting system’s Smart Contract, Ballot.sol.

Photo by Michael D Beckwith on Unsplash

Do check back often as I work on them.

1. Voting on a Blockchain: How it works
2. Voting on a Blockchain: Solidity Contract Codes explained
3. Voting on a Blockchain: DApp Demonstration
4. Voting on a Blockchain: Ballot Management DApp Code Walk-through
5. Voting on a Blockchain: Voting DApp Code Walk-through

Variables of the Contract

struct vote{
address voterAddress;
bool choice;
}

Lines 12 to 15…

Jackson Ng

Changing the world, one semicolon at a time @ http://jacksonng.org

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store