Files
lighthouse/beacon_node/beacon_chain/tests/era_test_vectors

ERA File Test Vectors

Minimal preset test vectors for ERA file import/export testing.

Network Configuration

  • Preset: minimal (SLOTS_PER_EPOCH=8, SLOTS_PER_HISTORICAL_ROOT=64)
  • One ERA file = 64 slots = 8 epochs
  • Validators: 1024
  • Fork schedule: All forks active from genesis (Electra), Fulu at epoch 100000

Contents

  • config.yaml — Network configuration (CL fork schedule + parameters)
  • genesis.ssz — Genesis state (SSZ encoded)
  • era/ — 13 ERA files (minimal-00000 through minimal-00012)
    • 832 slots total (epochs 0-103)
    • ~2.4MB compressed

Generation

Generated using Nimbus launch_local_testnet.sh with --preset minimal --nodes 2 --stop-at-epoch 100 --run-geth --run-spamoor, then exported via ncli_db exportEra.

ERA files contain real blocks with execution payloads (transactions generated by spamoor).

Test Coverage

Consumer Tests (4 tests)

  • era_consumer_imports_all_files — Imports all 13 ERA files into a fresh store, verifies 768 block root index entries
  • era_consumer_blocks_are_readable — Verifies all 767 unique blocks are loadable from the store
  • era_consumer_genesis_state_intact — Verifies genesis state with 1024 validators
  • era_files_are_parseable — Verifies all ERA files can be parsed by reth_era library

Producer Test (1 test)

  • era_producer_generates_identical_files — Re-exports ERA files from imported data and verifies byte-for-byte match with original Nimbus-generated files

All tests passing