Zero-knowledge proof toolkit targeting mobile devices.
This project makes use of Noir's nargo to compile circuits and generate test artifacts. Make sure to walk through the Quick Start section to install the noir toolchain. Note that we require a specific version of the toolchain, so make sure to override the version with the following command.
noirup --version nightly-2025-05-28Compile the Noir circuit:
cd noir-examples/poseidon-rounds
nargo compileGenerate the Noir Proof Scheme:
cargo run --release --bin noir-r1cs prepare ./target/basic.json -o ./noir-proof-scheme.npsGenerate the Noir Proof using the input Toml:
cargo run --release --bin noir-r1cs prove ./noir-proof-scheme.nps ./Prover.toml -o ./noir-proof.npVerify the Noir Proof:
cargo run --release --bin noir-r1cs verify ./noir-proof-scheme.nps ./noir-proof.npGenerate inputs for Gnark circuit:
cargo run --release --bin noir-r1cs generate-gnark-inputs ./noir-proof-scheme.nps ./noir-proof.npRecursively verify in a Gnark proof (reads the proof from ../ProveKit/prover/proof):
cd ../../gnark-whir
go run .Benchmark against Barretenberg:
cd noir-examples/poseidon-rounds
cargo run --release --bin noir-r1cs prepare ./target/basic.json -o ./scheme.nps
hyperfine 'nargo execute && bb prove -b ./target/basic.json -w ./target/basic.gz -o ./target' '../../target/release/noir-r1cs prove ./scheme.nps ./Prover.toml'Profile
samply record -r 10000 -- ./target/release/noir-r1cs prove ./noir-proof-scheme.nps ./noir-examples/poseidon-rounds/Prover.toml -o ./noir-proof.npThis project depends on the following libraries, which are developed in lockstep: