This repository contains the implementation of a DAO voting program using Anchor, with optional privacy voting features using Zero-Knowledge (ZK) proofs. The project is structured into three main folders:
- Dao_Zk_Proof_Contract_Using_Bellman
- Zk_Proof_Generation_For_Bellman
- Dao_Zk_Proof_Contract_Using_Curve_Dalek
This folder contains the smart contract implementation for the DAO voting program using Bellman ZK SNARKs.
- Purpose: Implement the DAO voting system with privacy voting using Bellman ZK SNARKs.
- Features: Voting system, results display, and optional ZK proof-based privacy voting.
- Technologies: Rust, Anchor, Bellman.
This folder contains the implementation for generating ZK proofs and verification keys off-chain using the Bellman library.
- Purpose: Generate ZK proofs and verification keys off-chain to ensure privacy in the voting system.
- Features: ZK proof generation, verification key creation.
- Technologies: Rust, Bellman.
This folder contains the smart contract implementation for the DAO voting program using the Curve25519 Dalek library.
- Purpose: Implement the DAO voting system using the Curve25519 Dalek library.
- Features: Voting system, results display, optional privacy voting using Curve25519.
- Technologies: Rust, Anchor, Curve25519 Dalek.
- Rust
- Anchor
- Solana CLI
- Clone the repository:
git clone https://github.com/ritikbhatt20/dao-voting-program.git cd dao-voting-program
- Navigate to the desired folder (e.g., Dao_Zk_Proof_Contract_Using_Bellman) and follow the specific setup instructions in the respective README.md files.
- Navigate to the respective folder.
- Follow the deployment instructions.
- Navigate to Zk_Proof_Generation_For_Bellman.
- Follow the instructions to generate ZK proofs and verification keys.
1- Fork the repository.
2- Create your feature branch (git checkout -b feature/fooBar).
3- Commit your changes (git commit -am 'Add some fooBar').
4- Push to the branch (git push origin feature/fooBar).
5- Create a new Pull Request.
Distributed under the MIT License. See LICENSE for more information.
For any questions or feedback, feel free to open an issue or contact the maintainers.