zkQV is a groundbreaking voting system designed to revolutionize blockchain governance by combining the power of Zero Knowledge Proofs (ZKP) with Quadratic Voting.
We aim to create a governance system that is secure, fair, and private, fostering trust and encouraging broader participation in blockchain communities.
- Fairness: Quadratic Voting ensures equal influence, limiting the dominance of wealthy individuals.
- Privacy: Zero Knowledge Proofs protect voter anonymity, making voting both secure and private.
- Optimism:
0x134F801e50B24728b6301E4eAF0d905aBFef20bA
- Base:
0x4F6fD04df4f5C372b7B5A095e46fD908C02FC6D9
- Metal L2:
0x9e18A4867873c9b4310cf9F786A1cd2ec7Aa09cF
This repository contains a script for setting up and testing zk-SNARKs circuits using the Hardhat framework and SnarkJS.
Simply:
$ sh test.sh
Or,
-
Generate Inputs
npx hardhat run circuits/generate_inputs.js
-
Compile the Circuit
cd circuits circom zkqv.circom --r1cs --wasm --sym --c snarkjs r1cs info zkqv.r1cs
-
Export Solidity Verifier
snarkjs zkey export solidityverifier ../setup/zkaa_final_12.zkey ../contracts/verifier_zkqv.sol