This is a command line tool for proof aggregation, it serves as a wrapper for snark-verifier library.
Make sure to choose the correct rustc version (see rust-toolchain). Download kzg trusted setup keys.
# download trusted setup keys for different sizes
# or modify this script to download specific size
./trusted_setup_s3.sh
The snark-verifier accepts a specific format. Let's denote it as ".snark" file. A snark file includes the proof of a plonkish circuit and protocol information used by proof aggregation.
snark-verifier-cli
has read
command reads a snark file and print it out. verify
command verifies a snark file. aggregate
command aggregates multiple proofs inside a folder.
Here are some command examples:
# read a snark proof at location proofs/1.snark
cargo run -- read proofs/1.snark
# or
snark-verifier-cli read proofs/1.snark
# verify a snark proof at location data/agg_circuit.snark
snark-verify-cli verify data/agg_circuit.snark
# aggregate multiple proofs in folder proofs
cargo run -- aggregate proofs/
The main branch of this tool is compatible with snark files generated by main branch of snark-verifier
The
v0.1.1-ce
branch of this tool is compatible with snark files generated byv0.1.1-ce
branch of snark-verifier.