A privacy-preserving voting system built on Solana using zero-knowledge proofs. The program is deployed on Solana Devnet with the program id: EoUv2UHa4y25Vm3opdDZGyfMbgEZ5DF7PaUTdHB2PLrM
- Create and manage DAOs
- Create proposals
- Cast encrypted votes
- Tally votes while preserving privacy
- Reward participants
Before you begin, ensure you have met the following requirements:
- Rust (latest stable version)
- Solana CLI tools (v1.10.0 or later)
- Node.js (v14 or later)
- Yarn
-
Clone the repository:
git clone https://github.com/akshatcoder-hash/zk-voting.git cd zk-voting
-
Install dependencies:
yarn install
-
Build the program:
anchor build
-
Start a local Solana cluster:
solana-test-validator
-
Deploy the program:
anchor deploy
-
Run the client:
anchor run client
To run the test suite:
anchor test
This will run through all the test cases, including initializing a DAO, creating a proposal, casting votes, and tallying results.
We welcome contributions to the ZK Voting System! Please see our Contributing Guide for more details.
This project is licensed under the MIT License - see the LICENSE file for details.