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.