Skip to content

piohei/ProveKit

 
 

Repository files navigation

ProveKit

Zero-knowledge proof toolkit targeting mobile devices.

Requirements

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-28

Demo instructions

Compile the Noir circuit:

cd noir-examples/poseidon-rounds
nargo compile

Generate the Noir Proof Scheme:

cargo run --release --bin noir-r1cs prepare ./target/basic.json -o ./noir-proof-scheme.nps

Generate the Noir Proof using the input Toml:

cargo run --release --bin noir-r1cs prove ./noir-proof-scheme.nps ./Prover.toml -o ./noir-proof.np

Verify the Noir Proof:

cargo run --release --bin noir-r1cs verify ./noir-proof-scheme.nps ./noir-proof.np

Generate inputs for Gnark circuit:

cargo run --release --bin noir-r1cs generate-gnark-inputs ./noir-proof-scheme.nps ./noir-proof.np

Recursively 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.np

Components

Dependencies

This project depends on the following libraries, which are developed in lockstep:

About

Client side zero-knowledge proving.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 53.4%
  • Noir 19.3%
  • Assembly 10.3%
  • Jupyter Notebook 6.5%
  • Python 5.6%
  • Go 4.4%
  • Other 0.5%