Circuits for zkEVM
Check out the work in progress specification to learn how it works.
Getting started
To run the same tests as the CI, please use: make test-all
.
Running benchmarks
There are currently several benchmarks to run in the workspace in regards to the circuits.
All use the DEGREE
env var to specify the degree of the K
parameter that you want
to use for your circuit in the bench process.
- Keccak Circuit prover benches. ->
DEGREE=16 make packed_multi_keccak_bench
- EVM Circuit prover benches. ->
DEGREE=18 make evm_bench
. - State Circuit prover benches. ->
DEGREE=18 make state_bench
- MPT Circuit prover benches. ->
DEGREE=14 make mpt_bench
You can also run all benchmarks by running: make circuit_benches DEGREE=18
.
GH Actions Benchmark Results
Circuit Benchmark Results are accessible here: https://grafana.zkevm-testnet.org/d/vofy8DAVz/circuit-benchmarks?orgId=1
- circuit_benchmarks panel displays:
- overall test result
- timers and system statistics
- url for downloading prover log and sys stat files
- clickable sysstats_url element that loads the memory and cpu utilization profiles for the given test