Latest version available here. The suite will soon be published under the official execution-spec-tests releases.
Ethproof Killers tests provide standardized, self-contained fixtures describing worst-case Ethereum execution scenarios for zk-VMs.
Because each scenario is captured in a single JSON file, we can:
Future releases will also include a stateless client guest program, giving RISCV-based zk-VMs a turnkey runner for the tests.
Each JSON file represents one test scenario and may list one or more configurations (the current version ships one configuration per file).
Below is a walk-through using test_keccak.json
.
Key | Purpose |
---|---|
test_worst_keccak[fork_Cancun-blockchain_test-gas_limit_36000000] |
Full pytest-style name. Useful as a human-readable label; you do not need to parse it. |
network |
Target fork—e.g. "Cancun" . |
genesisBlockHeader |
Canonical header for the genesis block used in the scenario. Fields match standard EL genesis fields. The RLP-encoded form is duplicated under genesisRLP for convenience. |
pre |
Account/storage state that yields the stateRoot in the genesis header. |
blocks |
Ordered list of blocks to execute after genesis. All current scenarios include just one block, but future suites may chain several. Non-final blocks are “setup” blocks; only the last block triggers the worst-case computation. Each item contains a blockHeader and a list of transactions to be executed. |
The format is identical to the Ethereum Execution-Layer (EL) tests, so every EL client already has implemented how to:
For hands-on instructions, see the docs page Executing Tests on Local Networks or Hive. You’re also free to create your own infrastructure, but it shouldn’t be needed apart from wirings.
A forthcoming release will bundle a guest program that consumes the JSON directly, so zk-VM teams can focus solely on proving that guest.