This is a command-line tool for generating zero-knowledge proofs using the Groth16 proving system. It is built with the ZKIR and utilizes ZKX. The tool is designed to handle circom and gnark circuits and supports both standard and non-zero-knowledge (non-ZK) proof generation modes.
-
Clone the RabbitSNARK repository
git clone https://github.com/fractalyze/rabbitsnark.git
-
Navigate to the RabbitSNARK project directory
cd rabbitsnark -
Build the RabbitSNARK Prover binary
bazel build --@zkx//:has_openmp //:prover_main
This will compile the prover_main binary with OpenMP support for parallelism. After the build completes successfully, the binary will be located at
bazel-bin/prover_main.If you're generating Groth16 proofs using SP1 with Gnark, add the
--//gnark:has_sp1flag when building.
bazel-bin/prover_main [GLOBAL_OPTIONS] COMMAND [SUBCOMMAND] [SUBCOMMAND_ARGS] [OPTIONS]To see available commands:
bazel-bin/prover_main -hTo see help for a specific command (e.g., circom, gnark, version):
bazel-bin/prover_main circom -h
bazel-bin/prover_main gnark -h
bazel-bin/prover_main version -hTo see help for a specific subcommand (e.g., compile, prove):
bazel-bin/prover_main circom compile -h
bazel-bin/prover_main gnark prove -h