MCPcopy Index your code
hub / github.com/eth-act/zkevm-benchmark-workload

github.com/eth-act/zkevm-benchmark-workload @v0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.0 ↗ · + Follow
587 symbols 1,253 edges 38 files 141 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ZK-EVM Bench

zkEVM Benchmarking Workload

This repository benchmarks Ethereum-related guest programs across multiple zkVMs. The normal workflow has two phases:

  1. Generate JSON fixtures from EEST, RPC, or raw-input sources.
  2. Run those fixtures through dockerized zkVM hosts and write metrics, proofs, or verification results.

Workspace At a Glance

  • crates/witness-generator-cli: fixture-generation CLI for EEST, RPC, and raw-input sources.
  • crates/witness-generator-spec-cli: CLI and library for generating canonical stateless input bytes from CL/EL RPC endpoints.
  • 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 as BenchmarkRun.

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.

Prerequisites

  • Rust via rustup
  • Docker
  • Git

Quickstart

Verify that both CLIs are reachable from the repo root:

cargo run -p witness-generator-cli -- --help
cargo run -p witness-generator-spec-cli -- --help
cargo run -p ere-hosts -- --help

Generate 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 -- tests

Run a benchmark against those fixtures:

cargo run -p ere-hosts --release -- --zkvms sp1 stateless-validator --execution-client reth

Guides

The root README is intentionally short. Detailed workflow documentation lives under docs/.

License

Licensed under either of

at your option.

Extension points exported contracts — how you extend this code

Fixture (Interface)
Trait representing a fixture with serialization support and metadata access. [1 implementers]
crates/witness-generator/src/lib.rs
GuestFixture (Interface)
(no doc) [3 implementers]
crates/benchmark-runner/src/guest_programs.rs
FixtureGenerator (Interface)
(no doc) [3 implementers]
crates/witness-generator/src/lib.rs

Core symbols most depended-on inside this repo

format_number
called by 18
scripts/analyze_zisk_profiles.py
network_root
called by 17
crates/witness-generator-spec-cli/src/config.rs
push_escaped
called by 15
crates/witness-generator-spec-cli/src/catalog.rs
extract_proving_time
called by 12
scripts/compare_provings.py
build
called by 9
crates/witness-generator/src/rpc_generator.rs
compute_statistics
called by 7
scripts/analyze_zisk_profiles.py
batch_failure
called by 7
scripts/validate-r2-stateless-inputs-with-eest.py
batches_root
called by 7
crates/witness-generator-spec-cli/src/config.rs

Shape

Function 334
Method 129
Class 99
Enum 22
Interface 3

Languages

Rust84%
Python16%

Modules by API surface

crates/benchmark-runner/src/runner.rs49 symbols
scripts/validate-r2-stateless-inputs-with-eest.py40 symbols
crates/witness-generator-spec-cli/src/rpc.rs37 symbols
crates/witness-generator-spec-cli/src/catalog.rs28 symbols
crates/witness-generator/src/rpc_generator.rs26 symbols
crates/metrics/src/lib.rs25 symbols
crates/witness-generator-spec-cli/src/builder.rs24 symbols
scripts/generate-website.py23 symbols
crates/witness-generator/src/raw_input_generator.rs23 symbols
crates/witness-generator-spec-cli/src/artifact.rs23 symbols
crates/benchmark-runner/src/stateless_validator/fixtures.rs23 symbols
crates/witness-generator/src/eest_generator.rs20 symbols

For agents

$ claude mcp add zkevm-benchmark-workload \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page