Electoral fraud, sometimes referred to as Fake Votes, is illegal interference with the process of an election, either by increasing the vote share of the favoured candidate, depressing the vote share of the rival candidates, or both. The problem is to build a mechanism using which vote counterfeiting can be avoided and genuine votes are being considered.
Our Solution is to build a Decentralised application on Blockchain using Ethereum, so that the voting system becomes transparent and unbiased. One of the key pillars of any healthy democratic system is the presence of independent and impartial elections in a nation. This is possible by Blockchain where we can keep the vote counts and other electoral data protected. The application would consist of a list of eligible candidates for election and we, as a voter, using our unique account having a unique private key, can cast a single vote to the candidate. This would require some ether, but the "Fake Votes" problem can be eliminated.
- NPM: https://nodejs.org
- Truffle: https://github.com/trufflesuite/truffle
- Ganache: http://truffleframework.com/ganache/
- Metamask: https://metamask.io/
$ npm install
Open the Ganache GUI client that you downloaded and installed. This will start your local blockchain instance.
$ truffle migrate --reset
Migration of the election smart contract is necessary each time Ganache is restarted.
- Unlock Metamask
- Connect metamask to your local Etherum blockchain provided by Ganache.
- Import an account provided by ganache.
$ npm run dev
Visit this URL in your browser: http://localhost:3000
Steps to run this project:
bash setup.sh