This repository benchmarks Ethereum-related guest programs across multiple zkVMs. The normal workflow has two phases:
- Generate JSON fixtures from EEST, RPC, or raw-input sources.
- Run those fixtures through dockerized zkVM hosts and write metrics, proofs, or verification results.
crates/witness-generator-cli: fixture-generation CLI for EEST, RPC, and raw-input sources.crates/ere-hosts: benchmark CLI for execution, proving, and verification jobs.crates/benchmark-runner: shared orchestration for guest resolution, execution, proof flow, and verification.crates/metrics: serializable result types such asBenchmarkRun.
Guest programs are maintained in the eth-act/ere-guests repository and are downloaded automatically from the resolved release or commit artifacts unless --bin-path is provided.
- Rust via
rustup - Docker
- Git
Verify that both CLIs are reachable from the repo root:
cargo run -p witness-generator-cli -- --help
cargo run -p ere-hosts -- --helpGenerate sample fixtures into zkevm-fixtures-input/:
EF_TEST_TRIE=default RUST_MIN_STACK=16388608 RUST_LOG=info RAYON_NUM_THREADS=8 cargo run -p witness-generator-cli --release -- testsRun a benchmark against those fixtures:
cargo run -p ere-hosts --release -- --zkvms sp1 stateless-validator --execution-client reth- Fixture generation guide
- Benchmark execution, proofs, and verification guide
- Witness Generator CLI crate notes
- Metrics crate reference
The root README is intentionally short. Detailed workflow documentation lives under docs/.
Licensed under either of
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.
