Fetch git-submodule of test traces
git submodule init
git submodule update --checkout
Download setup params
make download-setup
Or specify degree and target directory to download
# As default `degree=25` and `params_dir=./prover/test_params`.
make download-setup -e degree=DEGREE params_dir=PARAMS_DIR
make test-chunk-prove
is the main testing entry point for the multi-level circuit constraint system of scroll-zkevm. Developers could understand how the system works by reading the codes of this test.
Besides it, make test-inner-prove
could be used to test the first-level circuit.
This repository is designed to be used as a Rust crate, rather than a standalone running process. However, you can still use the following command to run binaries locally.
If you run into linking issues you may need to run
cp `find ./target/release/ | grep libzktrie.so` /usr/local/lib/
To move the zktrielib into a path where your linker could locate it.
Run prover
cargo build --release --bin prove
./target/release/prove --help
Could specify arguments as
cargo run --release --bin prove -- --params=./prover/test_params --trace=./prover/tests/traces/erc20/10_transfer.json
Run verifier
cargo build --release --bin verify
./target/release/verify --help
Could specify arguments as
cargo run --release --bin verify -- --params=./prover/test_params --vk=./proof_data/chunk.vkey
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.