Groth16
This library implements a verifier for the Groth16 protocol over the BN_254 elliptic curve.
Example
use ;
const TEST_VERIFICATION_KEY: &str = test_data!;
const TEST_PROOF: &str = test_data!;
const TEST_PUBLIC_INPUTS: &str = test_data!;
STARK to SNARK
It also provides the [stark_to_snark][docker::stark_to_snark] function to run a prover Groth16
recursion prover via Docker. After generating a RISC Zero STARK proof, this function can be
used to transform it into a Groth16 proof. This function becomes available when the prove
feature flag is enabled.
IMPORTANT: This feature requires an x86 architecture and Docker installed. Additionally, specific installation steps must be followed to use this functionality.
The recommended way to get a Groth16 proof is to use the Prover trait in the risc0-zkvm
crate. With ProverOpts::groth16() it will produce a Groth16 proof.