bloc chaine

Job ID: 33043903

Budget: €8 – €30 EUR

For this project, you will have to produce a decentralized voting platform that leverage the benefits of the blockchain technology.

Note: Electronic voting systems are still in the research stage so we will assume that topics like verifiability, coercion-resistance and receipt-freeness won’t be important for the implementation of this project.

During this project, you will learn how to create smart contracts on Ethereum with Solidity.

Your application must comply with the following requirements:

The responsible of the election defines the list of the candidates, defines the electoral roll and set the end date of the election.
The voters of the electoral roll are able to vote for one candidate as long as the election is available. A voter can delegate his vote to a member of the electoral roll.
Technical requirements:

You must use Geth to build your private Ethereum network. Obviously, you will write your smart contracts with Solidity.
The network must contain three nodes.
The voters must vote using a web-UI. They can watch the current state of the election with the number of votes for each candidate.
You can add functionalities to the previous requirements, those are the minimum.

You are free to define a background context for your application (representative election, presidential election, etc.). It could be helpful to design your web-UI.

In addition to your application, you will provide a technical and user documentation.
Related categories: Blockchain Ethereum Solidity Smart Contracts Web3.js