项目作者: justinkook

项目描述 :
Voting dApp hosted on private blockchain for a secure valid voting system
高级语言: JavaScript
项目地址: git://github.com/justinkook/dElect.git
创建时间: 2018-09-14T12:15:42Z
项目社区:https://github.com/justinkook/dElect

开源协议:

下载


dElect

A voting dApp hosted on private truffle test network

Vote for a candidate by spending ETH creating a secure transaction voting history and a blockchain.


Spending ETH confirms the initiation of the Election.sol smart contract to run which is written to prevent illegitimate votes such as double voting.

Uses Ganche to generate ETH tokens and MetaMask chrome extention as a wallet to spend ETH in order to vote.

Future Implementations:

  • Implementing filters for security measures to identify the correct people with permissions to vote. For example, any citizen over age 18.
  • UI / UX design of the app. Cross platform to Web, iOS, and Android.
  • Deploying to Amazon Web Services.
  • Connecting to a distributed blockchain ledger platform [Provide Services] (https://provide.services/) or Ethereum Main.
  • Scraping or manually entering candidate information to inform voters.

Election.sol Smart contract written in Solidity


Testing by Mocha

How to use this project:

1. Clone this repo.

2. In terminal or git bash install truffle packages by typing:

npm install

2. Install Ganche and MetaMask here:

https://truffleframework.com/ganache


https://metamask.io/

3. Import any account key from Ganche to your MetaMask wallet then connect to a custom RPC localhost:7545.

(Note that PORT: 7545 is default)

4. Test election.js by typing truffle test in the root directory folder.

5. In terminal type: truffle migrate --reset

6. In terminal type npm run dev to run the program on a local server.

The Election.sol smart contract only allows one unique account to vote to prevent multiple votes!

A terrible too long Video Tutorial:

https://drive.google.com/open?id=1W89ISSUPkjKADE23FmMD21Nb8GHKIZ1g