Fetch git-submodule of test traces
git submodule init
git submodule update --checkoutDownload all setup params, degree 20 and 25 are used in config.rs.
Could only download params of degree 25, but it may affect performance (when dowsizing to 20).
make download-setup -e degree=20
make download-setup -e degree=25Or specify other 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_DIRmake test-chunk-prove and make test-agg-prove are the main testing entries for multi-level circuit constraint system of scroll-prover. Developers could understand how the system works by reading the codes of these tests.
Besides it, make test-inner-prove could be used to test the first-level circuit, and make test-batch-prove could be used to test the final two levels.
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 zkevm prover to generate chunk proof (the word-dir is ./prover)
cargo build --release --bin zkevm_prove
./target/release/zkevm_prove --helpCould specify arguments as
# Proof data will be saved to `./prover/proof_data`.
export OUTPUT_DIR="proof_data"
# Params file should be located in `./prover/test_params`.
cargo run --release --bin zkevm_prove -- --params=test_params --trace=tests/traces/erc20/10_transfer.jsonRun zkevm verifier to verify chunk proof (the word-dir is ./prover)
cargo build --release --bin zkevm_verify
./target/release/zkevm_verify --helpCould specify arguments as
cargo run --release --bin zkevm_verify -- --params=test_params --proof=proof_dataLicensed 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.