Skip to content

gmh5225/ProveKit

 
 

Repository files navigation

ProveKit

Zero-knowledge proof toolkit targeting mobile devices.

Demo instructions

First make sure you have the exact correct version of Noir installed so the artifacts can be read:

noirup -C 03b58fa2

Compile the Noir circuit and generate the witness:

cd noir-r1cs/noir-examples/poseidon-rounds
nargo execute

Generate the R1CS instance:

cargo run --release --bin noir-r1cs ./noir-r1cs/noir-examples/poseidon-rounds/target/basic.json ./noir-r1cs/noir-examples/poseidon-rounds/target/basic.gz

Generate the WHIR GR1CS proof:

cargo run --release --bin prover -- --input_file_path ./noir-r1cs/r1cs.json

This will write the proof to prover/proof.

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

Components

Dependencies

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

About

Client side zero-knowledge proving.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 69.1%
  • Python 15.4%
  • Jupyter Notebook 9.4%
  • Noir 3.5%
  • Svelte 1.1%
  • Shell 0.5%
  • Other 1.0%