Skip to content

Latest commit

 

History

History
executable file
·
32 lines (24 loc) · 1.45 KB

README.md

File metadata and controls

executable file
·
32 lines (24 loc) · 1.45 KB

Open Vote Network using zk-SNARKs

This is the proof of concept of our paper "Dispute-free Scalable Open Vote Network using zk-SNARKs"

Installation

  1. Install Nodejs
  2. Install Circom 2.0
  3. Install Truffle Framework: npm install -g truffle
  4. Install Ganache-cli: npm install -g ganache-cli
  5. Clone this repository and change directory to its path
  6. Install the required packages npm i

Execution

  • cd build

  • Run ./setup.sh -d [DESIGN_TO_BE_USED] -n [NUMBER_of_VOTERS] where [DESIGN_TO_BE_USED] could be:

    • original: Our original proposed design
    • sha256: The first enhancement using Sha256
    • progressiveSha256: The second enhancement using Sha256
    • progressivePoseidon: The second enhancement using Poseidon

    For example ./setup.sh -d "original" -n 3

  • Check the test code in the file test/completeTest.js

  • Run the local Ethereum node: ganache-cli -l 30e6 -a [[NUMBER_of_VOTERS + 2]]

  • Run the command truffle test to view the result and the gas cost of each transaction

Notes