/Z-Voting

Z-Voting, completely anonymous voting framework, zero-knowledge based authentication , implemented in solidity smart contract which can be used on every blockchain that support solidity smart contract

Primary LanguageJavaScript

Z-Voting

A completely anonymous and private voting framework based on zero-knowledge proof. You can read the presentation file, Here!

How it works

Every voter must have a VotingID, which you can build using GENERATE VOTINGID button, Here is a helper video

For innitializing a voting, you should enter the voting title and the voters VotingID, after that you sign the transaction and a voting smart contract will be deployed on your selected blockchain, finally when everything goes well, you need to share the deployed voting smart contract address with the voters. Here is a helper video

Voter for submitting thier vote in a voting, must have the voting smart contract address, if the voter has permission for voting they can choose between voting options and sign and send thier vote. Here is a helper video

Installation

To run the Z-Voting framework, first you need to clone this repository, installing the dependencies using npm install command inside you command prompt after dependencies successfully installed enter npm run dev command and magic happens. Framework will automatically open on your default browser.

How to use

Go through these steps to get familiar with Z-Voting

Step 1 - Generating a VotingID

Everyone as a voter must have a VotingID. Generating VotingID

Step 2 - Initialization a voting

The easiest way for initializing a voting, just enter the voting title and the voters who you want to participant in this voting. Please remember, as a voting admin you have to share the voting smart contract address with the voters. Initiating a Voting

Step 3 - Vote

submit your vote with just a click, enter the voting smart contract address, your private VotingKey, choose between the voting option, finally you can use every account address you want to sign your transaction. Vote