Zero-knowledge proof toolkit targeting mobile devices.
First make sure you have the exact correct version of Noir installed so the artifacts can be read:
noirup -C 03b58fa2Compile the Noir circuit:
cd noir-examples/poseidon-rounds
nargo compileGenerate the Noir Proof Scheme:
cargo run --release --bin noir-r1cs prepare ./noir-examples/poseidon-rounds/target/basic.json -o ./noir-proof-scheme.nps(Currently this doesn't write an output file)
Generate the Noir Proof using the input Toml:
cargo run --release --bin noir-r1cs prove ./noir-proof-scheme.nps ./noir-examples/poseidon-rounds/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 ..
git clone https://github.com/reilabs/gnark-whir
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 ./scheme.nps ./Prover.tomlThis project depends on the following libraries, which are developed in lockstep: