/d-vote

Primary LanguageJavaScriptMIT LicenseMIT

D-VOTE is a decentralized voting system based on ethereum blockchain. E-voting is a trending, yet critical topic related to the online services.

The blockchain with the smart contracts, emerges as a good candidate to use in development of safer, cheaper, more secure, more transparent, and easier-to-use electronic voting systems. Ethereum and its network is one of the most suitable blockchains, due to its consistency, widespread use, and provision of smart contracts logic.

An e-voting system must be secure, as it should not allow duplicated votes and be fully transparent, while protecting the privacy of the attendees.

Installation

git clone https://github.com/sigmaducc/d-vote && cd d-vote
npm install

Usage

Run the project

npm run dev

Flowchart

Steps

  1. Setup Ganache-cli and start the local blockchain

  1. Setup Truffle and deploy the smart contracts

  1. Zeroth account in Ganache-cli is the admin account in metamask

  1. Admin panel (Can see the zeroth account). Add admin details.

5.Admin can initiate the elections now and confirm the transaction in metamask

  1. Add the election candidates

7. Start the elections

  1. All the other accounts in ganache-cli can be voter accounts except the zeroth account(admin). Voter’s metamask

  1. Voter registration

  1. Admin Verification

  1. After admin verification

  1. Cast vote

  1. Result

Contributors

@sigmaducc

@TonyStark0801

@nitesh