A privacy-focused zkSNARK application using Noir circuits and Solidity verifiers.
Before you begin, ensure you have the following tools installed:
- Noir - Zero-knowledge circuit language and compiler
- Foundry - Ethereum development toolkit for testing Solidity verifiers
- pnpm - Fast, disk space efficient package manager
- Barretenberg CLI - Zero-knowledge proof backend (optional, can be used for advanced workflows)
To compile circuits, generate verifiers, create proofs, and run verification tests:
# Install dependencies
pnpm i
# Compile Noir circuits
pnpm compile-circuits
# Generate Solidity verifiers from circuits
pnpm generate-solidity-verifiers
# Generate mock proofs for testing
pnpm generate-mock-proofs
# Run Foundry tests to verify proofs
pnpm test-verifiers- Edit circuits in
circuits/directory - Compile with
pnpm compile-circuits - Generate verifiers with
pnpm generate-solidity-verifiers - Create test proofs with
pnpm generate-mock-proofs - Run tests with
pnpm test-verifiers