Showing preview only (3,686K chars total). Download the full file or copy to clipboard to get everything.
Repository: ethpandaops/ethereum-package
Branch: main
Commit: eac08c083586
Files: 385
Total size: 3.4 MB
Directory structure:
gitextract_qx2a8ttp/
├── .claude/
│ └── skills/
│ └── kurtosis-ethereum/
│ ├── SKILL.md
│ └── kurtosis-ref.sh
├── .editorconfig
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ └── bug-report.md
│ ├── actions/
│ │ ├── docker-login/
│ │ │ └── action.yaml
│ │ └── kurtosis-install/
│ │ └── action.yaml
│ ├── check-consensus-spec-values.py
│ ├── dependabot.yml
│ ├── remove_trailing_space.py
│ ├── tests/
│ │ ├── 1gpu_zkvm.yaml_norun
│ │ ├── 8gpu_zkvm.yaml_norun
│ │ ├── altair-genesis.yaml
│ │ ├── archive-storage.yaml.norun
│ │ ├── assertoor.yaml
│ │ ├── bal-devnet-0.yaml_norun
│ │ ├── bellatrix-genesis.yaml
│ │ ├── besu-all.yaml
│ │ ├── binary.yaml_norun
│ │ ├── binary_force.yaml_norun
│ │ ├── blobber.yaml
│ │ ├── bootnodoor.yaml
│ │ ├── capella-genesis.yaml
│ │ ├── caplin-basic.yaml
│ │ ├── consensoor-basic.yaml
│ │ ├── custom-contracts.yaml
│ │ ├── custom-mnemonics.yaml
│ │ ├── deneb-genesis.yaml
│ │ ├── deneb.yaml
│ │ ├── disable-peer-scoring.yaml
│ │ ├── dummy-el.yaml
│ │ ├── electra-genesis.yaml
│ │ ├── ephemery.yaml
│ │ ├── erigon-all.yaml
│ │ ├── erpc.yaml
│ │ ├── ethereumjs-all.yaml.norun
│ │ ├── ethrex.yaml
│ │ ├── force.yaml
│ │ ├── full-storage.yaml.norun
│ │ ├── fulu-genesis.yaml
│ │ ├── fulu-mev.yaml
│ │ ├── fulu.yaml
│ │ ├── geth-all.yaml
│ │ ├── grandine-all.yaml
│ │ ├── hoodi-shadowfork.yaml_norun
│ │ ├── hoodi-shadowfork_at_height.yaml_norun
│ │ ├── lighthouse-all.yaml
│ │ ├── lodestar-all.yaml
│ │ ├── mainnet-split.yaml.norun
│ │ ├── mainnet.yaml.norun
│ │ ├── mempool_bridge.yaml
│ │ ├── mev-buildoor.yaml
│ │ ├── mev-commit-boost.yaml
│ │ ├── mev-helix.yaml
│ │ ├── mev-mock.yaml
│ │ ├── mev-multiple-relays.yaml
│ │ ├── mev.yaml
│ │ ├── minimal-fulu.yaml
│ │ ├── minimal-mev.yaml
│ │ ├── minimal.yaml
│ │ ├── mix-assert.yaml
│ │ ├── mix-persistence-k8s.yaml
│ │ ├── mix-persistence.yaml
│ │ ├── mix-public.yaml
│ │ ├── mix-with-tools-mev.yaml
│ │ ├── mix-with-tools-minimal.yaml
│ │ ├── mix-with-tools.yaml
│ │ ├── mix.yaml
│ │ ├── mixed-cl-vc.yml
│ │ ├── multi-beacon.yaml
│ │ ├── nethermind-all.yaml
│ │ ├── nimbus-all.yaml
│ │ ├── nimbus-eth1-all.yaml
│ │ ├── nimbus-mev.yaml
│ │ ├── node-selectors.yaml
│ │ ├── parallel-keystores.yaml
│ │ ├── participants-matrix.yaml
│ │ ├── phase0-genesis.yaml
│ │ ├── preregistered_validator_count.yaml
│ │ ├── prysm-all.yaml
│ │ ├── rakoon.yaml
│ │ ├── remote-signer.yaml
│ │ ├── reth-all.yaml
│ │ ├── sepolia-mix.yaml
│ │ ├── skip.yaml
│ │ ├── split-nimbus.yaml
│ │ ├── split-teku.yaml
│ │ ├── teku-all.yaml
│ │ ├── tolerations.yaml
│ │ ├── vero-all.yaml
│ │ └── zkboost.yaml
│ └── workflows/
│ ├── check-consensus-spec-values.yml
│ ├── check-typos.yml
│ ├── conventional-pr-title-checker.yml
│ ├── nightly.yml
│ ├── per-pr.yml
│ ├── release-please.yml
│ └── run-k8s.yml
├── .gitignore
├── .release-please-manifest.json
├── .typos.toml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── _typos.toml
├── docs/
│ └── architecture.md
├── examples/
│ └── README.md
├── kurtosis.yml
├── main.star
├── network_params.yaml
├── release-please-config.json
├── rename.sh
├── src/
│ ├── apache/
│ │ └── apache_launcher.star
│ ├── assertoor/
│ │ └── assertoor_launcher.star
│ ├── blobber/
│ │ ├── blobber_context.star
│ │ └── blobber_launcher.star
│ ├── blobscan/
│ │ └── blobscan_launcher.star
│ ├── blockscout/
│ │ └── blockscout_launcher.star
│ ├── blutgang/
│ │ └── blutgang_launcher.star
│ ├── bootnodoor/
│ │ └── bootnodoor_launcher.star
│ ├── broadcaster/
│ │ └── broadcaster.star
│ ├── checkpointz/
│ │ └── checkpointz_launcher.star
│ ├── cl/
│ │ ├── caplin/
│ │ │ └── caplin_launcher.star
│ │ ├── cl_context.star
│ │ ├── cl_launcher.star
│ │ ├── cl_node_ready_conditions.star
│ │ ├── cl_shared.star
│ │ ├── consensoor/
│ │ │ └── consensoor_launcher.star
│ │ ├── grandine/
│ │ │ └── grandine_launcher.star
│ │ ├── lighthouse/
│ │ │ └── lighthouse_launcher.star
│ │ ├── lodestar/
│ │ │ └── lodestar_launcher.star
│ │ ├── nimbus/
│ │ │ └── nimbus_launcher.star
│ │ ├── prysm/
│ │ │ └── prysm_launcher.star
│ │ └── teku/
│ │ └── teku_launcher.star
│ ├── dora/
│ │ └── dora_launcher.star
│ ├── dugtrio/
│ │ └── dugtrio_launcher.star
│ ├── el/
│ │ ├── besu/
│ │ │ └── besu_launcher.star
│ │ ├── dummy/
│ │ │ └── dummy_launcher.star
│ │ ├── el_admin_node_info.star
│ │ ├── el_context.star
│ │ ├── el_launcher.star
│ │ ├── el_shared.star
│ │ ├── erigon/
│ │ │ └── erigon_launcher.star
│ │ ├── ethereumjs/
│ │ │ └── ethereumjs_launcher.star
│ │ ├── ethrex/
│ │ │ └── ethrex_launcher.star
│ │ ├── geth/
│ │ │ └── geth_launcher.star
│ │ ├── nethermind/
│ │ │ └── nethermind_launcher.star
│ │ ├── nimbus-eth1/
│ │ │ └── nimbus_launcher.star
│ │ └── reth/
│ │ └── reth_launcher.star
│ ├── erpc/
│ │ └── erpc_launcher.star
│ ├── ethereum_metrics_exporter/
│ │ ├── ethereum_metrics_exporter_context.star
│ │ └── ethereum_metrics_exporter_launcher.star
│ ├── forkmon/
│ │ └── forkmon_launcher.star
│ ├── forky/
│ │ └── forky_launcher.star
│ ├── full_beaconchain/
│ │ └── full_beaconchain_launcher.star
│ ├── grafana/
│ │ └── grafana_launcher.star
│ ├── mempool_bridge/
│ │ └── mempool_bridge_launcher.star
│ ├── mev/
│ │ ├── buildoor/
│ │ │ └── buildoor_launcher.star
│ │ ├── commit-boost/
│ │ │ └── mev_boost/
│ │ │ ├── mev_boost_context.star
│ │ │ └── mev_boost_launcher.star
│ │ ├── flashbots/
│ │ │ ├── mev_boost/
│ │ │ │ ├── mev_boost_context.star
│ │ │ │ └── mev_boost_launcher.star
│ │ │ ├── mev_builder/
│ │ │ │ └── mev_builder_launcher.star
│ │ │ ├── mev_custom_flood/
│ │ │ │ ├── mev_custom_flood_launcher.star
│ │ │ │ └── sender.py
│ │ │ ├── mev_relay/
│ │ │ │ └── mev_relay_launcher.star
│ │ │ └── mock_mev/
│ │ │ └── mock_mev_launcher.star
│ │ ├── helix/
│ │ │ └── helix_relay_launcher.star
│ │ └── mev-rs/
│ │ ├── mev_boost/
│ │ │ ├── mev_boost_context.star
│ │ │ └── mev_boost_launcher.star
│ │ ├── mev_builder/
│ │ │ └── mev_builder_launcher.star
│ │ └── mev_relay/
│ │ └── mev_relay_launcher.star
│ ├── network_launcher/
│ │ ├── devnet.star
│ │ ├── ephemery.star
│ │ ├── kurtosis.star
│ │ ├── public_network.star
│ │ └── shadowfork.star
│ ├── nginx/
│ │ └── nginx_launcher.star
│ ├── node_metrics_info.star
│ ├── package_io/
│ │ ├── constants.star
│ │ ├── input_parser.star
│ │ └── sanity_check.star
│ ├── participant.star
│ ├── participant_network.star
│ ├── prefunded_accounts/
│ │ └── get_prefunded_accounts.star
│ ├── prelaunch_data_generator/
│ │ ├── el_cl_genesis/
│ │ │ ├── el_cl_genesis_data.star
│ │ │ └── el_cl_genesis_generator.star
│ │ ├── genesis_constants/
│ │ │ └── genesis_constants.star
│ │ └── validator_keystores/
│ │ ├── generate_keystores_result.star
│ │ ├── keystore_files.star
│ │ ├── validator_keystore_generator.star
│ │ └── validator_ranges_generator.star
│ ├── prometheus/
│ │ └── prometheus_launcher.star
│ ├── rakoon/
│ │ └── rakoon.star
│ ├── remote_signer/
│ │ ├── remote_signer_context.star
│ │ └── remote_signer_launcher.star
│ ├── shared_utils/
│ │ └── shared_utils.star
│ ├── slashoor/
│ │ └── slashoor_launcher.star
│ ├── snooper/
│ │ ├── snooper_beacon_context.star
│ │ ├── snooper_beacon_launcher.star
│ │ ├── snooper_el_context.star
│ │ └── snooper_el_launcher.star
│ ├── spamoor/
│ │ └── spamoor.star
│ ├── static_files/
│ │ └── static_files.star
│ ├── tempo/
│ │ └── tempo_launcher.star
│ ├── tracoor/
│ │ └── tracoor_launcher.star
│ ├── tx_fuzz/
│ │ └── tx_fuzz.star
│ ├── vc/
│ │ ├── lighthouse.star
│ │ ├── lodestar.star
│ │ ├── nimbus.star
│ │ ├── prysm.star
│ │ ├── shared.star
│ │ ├── teku.star
│ │ ├── vc_context.star
│ │ ├── vc_launcher.star
│ │ └── vero.star
│ ├── xatu_sentry/
│ │ ├── xatu_sentry_context.star
│ │ └── xatu_sentry_launcher.star
│ └── zkboost/
│ └── zkboost_launcher.star
├── static_files/
│ ├── apache-config/
│ │ ├── enode.txt.tmpl
│ │ ├── enr.txt.tmpl
│ │ ├── enr_list.txt.tmpl
│ │ └── index.html
│ ├── assertoor-config/
│ │ ├── config.yaml.tmpl
│ │ └── tests/
│ │ ├── all-opcodes-transaction-test.yaml
│ │ ├── blob-transactions-test.yaml
│ │ ├── block-proposal-check.yaml
│ │ ├── eoa-transactions-test.yaml
│ │ ├── stability-check.yaml
│ │ └── validator-lifecycle-test.yaml
│ ├── blutgang-config/
│ │ └── config.toml.tmpl
│ ├── checkpointz-config/
│ │ └── config.yaml.tmpl
│ ├── dora-config/
│ │ └── config.yaml.tmpl
│ ├── dugtrio-config/
│ │ └── config.yaml.tmpl
│ ├── erpc-config/
│ │ └── erpc.yaml.tmpl
│ ├── forkmon-config/
│ │ └── config.toml.tmpl
│ ├── forky-config/
│ │ └── config.yaml.tmpl
│ ├── full-beaconchain-config/
│ │ └── config.yaml.tmpl
│ ├── genesis-generation-config/
│ │ └── el-cl/
│ │ ├── additional-contracts.json.tmpl
│ │ └── values.env.tmpl
│ ├── grafana-config/
│ │ ├── dashboards/
│ │ │ ├── beacon-metrics-dashboard.json
│ │ │ ├── besu-dashboard.json
│ │ │ ├── default.json
│ │ │ ├── ethereum-metrics-exporter-overview.json
│ │ │ ├── ethereum-metrics-exporter.json
│ │ │ ├── geth-dashboard.json
│ │ │ ├── lighthouse/
│ │ │ │ ├── AttestationProcessing.json
│ │ │ │ ├── BeaconProcessorV2.json
│ │ │ │ ├── BlockProcessing.json
│ │ │ │ ├── BlockProduction.json
│ │ │ │ ├── EIP8025ProofEngine.json
│ │ │ │ ├── EIP8025ProofSync.json
│ │ │ │ ├── ForkChoice.json
│ │ │ │ ├── Network.json
│ │ │ │ ├── Summary.json
│ │ │ │ ├── SyncMetrics.json
│ │ │ │ └── ValidatorClient.json
│ │ │ ├── peerdas-dashboard.json
│ │ │ ├── prysm-latency-dashboard.json
│ │ │ ├── teku-dashboard.json
│ │ │ ├── vero-detailed.json
│ │ │ └── zkboost/
│ │ │ └── zkboost.json
│ │ └── templates/
│ │ ├── dashboard-providers.yml.tmpl
│ │ └── datasource.yml.tmpl
│ ├── jwt/
│ │ └── jwtsecret
│ ├── keymanager/
│ │ ├── generate_certs.sh
│ │ ├── keymanager.txt
│ │ ├── openssl.cnf
│ │ └── validator_keystore.p12
│ ├── mempool-bridge-config/
│ │ └── config.yaml.tmpl
│ ├── mev/
│ │ ├── commit-boost/
│ │ │ └── cb-config.toml.tmpl
│ │ ├── flashbots/
│ │ │ └── mev_builder/
│ │ │ └── config.toml.tmpl
│ │ ├── helix/
│ │ │ └── config.yaml.tmpl
│ │ └── mev-rs/
│ │ ├── mev_boost/
│ │ │ └── config.toml.tmpl
│ │ ├── mev_builder/
│ │ │ └── config.toml.tmpl
│ │ └── mev_relay/
│ │ └── config.toml.tmpl
│ ├── nginx-config/
│ │ ├── enode.txt.tmpl
│ │ ├── enr.txt.tmpl
│ │ ├── enr_list.txt.tmpl
│ │ └── index.html
│ ├── peerdas-node-keys/
│ │ ├── grandine/
│ │ │ ├── node-key-file-1/
│ │ │ │ └── key
│ │ │ ├── node-key-file-10/
│ │ │ │ └── key
│ │ │ ├── node-key-file-11/
│ │ │ │ └── key
│ │ │ ├── node-key-file-12/
│ │ │ │ └── key
│ │ │ ├── node-key-file-13/
│ │ │ │ └── key
│ │ │ ├── node-key-file-14/
│ │ │ │ └── key
│ │ │ ├── node-key-file-15/
│ │ │ │ └── key
│ │ │ ├── node-key-file-16/
│ │ │ │ └── key
│ │ │ ├── node-key-file-2/
│ │ │ │ └── key
│ │ │ ├── node-key-file-3/
│ │ │ │ └── key
│ │ │ ├── node-key-file-4/
│ │ │ │ └── key
│ │ │ ├── node-key-file-5/
│ │ │ │ └── key
│ │ │ ├── node-key-file-6/
│ │ │ │ └── key
│ │ │ ├── node-key-file-7/
│ │ │ │ └── key
│ │ │ ├── node-key-file-8/
│ │ │ │ └── key
│ │ │ └── node-key-file-9/
│ │ │ └── key
│ │ ├── keys.json
│ │ ├── lighthouse/
│ │ │ ├── node-key-file-1/
│ │ │ │ └── key
│ │ │ ├── node-key-file-10/
│ │ │ │ └── key
│ │ │ ├── node-key-file-11/
│ │ │ │ └── key
│ │ │ ├── node-key-file-12/
│ │ │ │ └── key
│ │ │ ├── node-key-file-13/
│ │ │ │ └── key
│ │ │ ├── node-key-file-14/
│ │ │ │ └── key
│ │ │ ├── node-key-file-15/
│ │ │ │ └── key
│ │ │ ├── node-key-file-16/
│ │ │ │ └── key
│ │ │ ├── node-key-file-2/
│ │ │ │ └── key
│ │ │ ├── node-key-file-3/
│ │ │ │ └── key
│ │ │ ├── node-key-file-4/
│ │ │ │ └── key
│ │ │ ├── node-key-file-5/
│ │ │ │ └── key
│ │ │ ├── node-key-file-6/
│ │ │ │ └── key
│ │ │ ├── node-key-file-7/
│ │ │ │ └── key
│ │ │ ├── node-key-file-8/
│ │ │ │ └── key
│ │ │ └── node-key-file-9/
│ │ │ └── key
│ │ ├── lodestar/
│ │ │ ├── node-key-file-1/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-10/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-11/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-12/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-13/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-14/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-15/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-16/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-2/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-3/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-4/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-5/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-6/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-7/
│ │ │ │ └── peer-id.json
│ │ │ ├── node-key-file-8/
│ │ │ │ └── peer-id.json
│ │ │ └── node-key-file-9/
│ │ │ └── peer-id.json
│ │ ├── nimbus/
│ │ │ ├── node-key-file-1.json
│ │ │ ├── node-key-file-10.json
│ │ │ ├── node-key-file-11.json
│ │ │ ├── node-key-file-12.json
│ │ │ ├── node-key-file-13.json
│ │ │ ├── node-key-file-14.json
│ │ │ ├── node-key-file-15.json
│ │ │ ├── node-key-file-16.json
│ │ │ ├── node-key-file-2.json
│ │ │ ├── node-key-file-3.json
│ │ │ ├── node-key-file-4.json
│ │ │ ├── node-key-file-5.json
│ │ │ ├── node-key-file-6.json
│ │ │ ├── node-key-file-7.json
│ │ │ ├── node-key-file-8.json
│ │ │ └── node-key-file-9.json
│ │ ├── prysm/
│ │ │ ├── node-key-file-1
│ │ │ ├── node-key-file-10
│ │ │ ├── node-key-file-11
│ │ │ ├── node-key-file-12
│ │ │ ├── node-key-file-13
│ │ │ ├── node-key-file-14
│ │ │ ├── node-key-file-15
│ │ │ ├── node-key-file-16
│ │ │ ├── node-key-file-2
│ │ │ ├── node-key-file-3
│ │ │ ├── node-key-file-4
│ │ │ ├── node-key-file-5
│ │ │ ├── node-key-file-6
│ │ │ ├── node-key-file-7
│ │ │ ├── node-key-file-8
│ │ │ └── node-key-file-9
│ │ └── teku/
│ │ ├── node-key-file-1
│ │ ├── node-key-file-10
│ │ ├── node-key-file-11
│ │ ├── node-key-file-12
│ │ ├── node-key-file-13
│ │ ├── node-key-file-14
│ │ ├── node-key-file-15
│ │ ├── node-key-file-16
│ │ ├── node-key-file-2
│ │ ├── node-key-file-3
│ │ ├── node-key-file-4
│ │ ├── node-key-file-5
│ │ ├── node-key-file-6
│ │ ├── node-key-file-7
│ │ ├── node-key-file-8
│ │ └── node-key-file-9
│ ├── slashoor-config/
│ │ └── config.yaml.tmpl
│ ├── spamoor-config/
│ │ ├── rpc-hosts.txt.tmpl
│ │ └── startup-spammer.yaml.tmpl
│ ├── tempo-config/
│ │ └── tempo.yaml.tmpl
│ ├── tracoor-config/
│ │ └── config.yaml.tmpl
│ ├── validator-ranges/
│ │ └── config.yaml.tmpl
│ ├── xatu-sentry-config/
│ │ └── config.yaml.tmpl
│ └── zkboost-config/
│ └── config.toml.tmpl
└── version.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .claude/skills/kurtosis-ethereum/SKILL.md
================================================
---
name: kurtosis-ethereum
description: Run Ethereum multi-client devnets using Kurtosis and the ethpandaops/ethereum-package. Use for spinning up local devnets, syncing public testnets, validating cross-client interop, testing fork transitions, shadowforks, running assertoor checks, debugging CL/EL client interactions, or verifying new feature implementations across multiple consensus and execution clients.
allowed-tools: Bash, Read, Write, Edit, WebFetch, Glob, Grep
---
# Kurtosis Devnet
Run Ethereum consensus/execution client devnets via [kurtosis](https://github.com/kurtosis-tech/kurtosis) + [ethereum-package](https://github.com/ethpandaops/ethereum-package).
## Config Principle
**Only include fields that differ from defaults.** If the task doesn't mention a setting, don't include it. Shorter configs are better — let the defaults handle the rest.
## Quick Start
```bash
# ALWAYS start grafloki first — enables Loki log collection for debugging
kurtosis loki start
# Write a network_params.yaml, then:
kurtosis run github.com/ethpandaops/ethereum-package \
--enclave <name> \
--args-file network_params.yaml \
--image-download always
kurtosis enclave ls # list enclaves
kurtosis enclave inspect <name> # inspect services + ports
kurtosis service logs <enclave> <svc> # view logs
kurtosis enclave rm -f <name> # cleanup
```
**If you are told to use a fork or a branch of the ethereum-package, then replace github.com/ethpandaops/ethereum-package with github.com/<fork>/ethereum-package@branch**
**If you want to quickly sanity check something, then use preset: "minimal". This will lead to much faster networks, but do not default to this approach. Only use it when you are sure you want to quickly check something. When the user expects it to behave like mainnet, then use preset: "mainnet".**
## Config Structure (`network_params.yaml`)
### `participants`
Each entry is a CL+EL node. Only specify fields you need to override:
```yaml
participants:
- el_type: geth # geth, reth, nethermind, besu, erigon
cl_type: lighthouse # lighthouse, lodestar, prysm, teku, nimbus
```
Available overrides (only use when needed):
- `el_image` / `cl_image` / `vc_image` — custom Docker images
- `el_extra_params` / `cl_extra_params` / `vc_extra_params` — extra CLI flags
- `el_max_cpu` / `el_max_mem` / `cl_max_cpu` / `cl_max_mem` — resource limits (millicores / MB)
- `vc_type` — separate validator client type (creates a dedicated vc service)
- `use_remote_signer: true` + `remote_signer_type: web3signer` — remote signing
- `count` — number of identical instances (default: 1)
- `validator_count` — validators assigned (default: from network config)
### `network_params`
Network-level settings. Only include fields you need to change. Use `kurtosis-ref.sh search <term>` to find exact field names — do not guess.
```yaml
network_params:
# Only add fields the task requires. Examples of available settings:
# preset, seconds_per_slot, fork epochs, gas limits, etc.
# Verify field names with: bash .claude/skills/kurtosis-ethereum/kurtosis-ref.sh search <term>
```
### `additional_services`
```yaml
additional_services:
- dora # block explorer
- assertoor # automated testing
```
## Reference Tool
One script for all lookups. Use targeted sections instead of `all`.
```bash
bash .claude/skills/kurtosis-ethereum/kurtosis-ref.sh <section>
```
| Section | What it shows |
|---------|--------------|
| `clients` | Supported EL/CL/VC client types |
| `participants` | Participant fields with defaults |
| `network` | network_params fields with defaults |
| `forks` | Fork epoch fields and defaults |
| `mev` | MEV types and params |
| `services` | Additional services list |
| `sections` | Config subcategory and root-level params |
| `search <term>` | Search the README for a field/concept |
| `example <name>` | Fetch a real CI test config (e.g. `remote-signer`, `minimal`, `mix`) |
| `examples` | List all available CI test configs |
Use targeted sections instead of dumping everything. For example:
- Need to know MEV options? `kurtosis-ref.sh mev`
- Unsure about a field name? `kurtosis-ref.sh search gas_limit`
- Need fork epoch names? `kurtosis-ref.sh forks`
- Setting up something complex? `kurtosis-ref.sh example remote-signer` to see a working CI config
## Service Naming Convention
- EL: `el-{index}-{el_type}-{cl_type}`
- CL: `cl-{index}-{cl_type}-{el_type}`
- VC: `vc-{index}-{el_type}-{cl_type}-{vc_type}` (only when vc_type differs from cl_type)
## Examples
### 2-node devnet
```yaml
participants:
- el_type: geth
cl_type: lodestar
- el_type: reth
cl_type: lighthouse
network_params:
preset: minimal
```
### Mixed clients with monitoring
```yaml
participants:
- el_type: geth
cl_type: lighthouse
- el_type: nethermind
cl_type: prysm
- el_type: besu
cl_type: teku
network_params:
preset: minimal
additional_services:
- dora
- assertoor
assertoor_params:
run_stability_check: true
```
### Custom images
```yaml
participants:
- el_type: geth
el_image: ethpandaops/geth:my-branch
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:my-branch
network_params:
preset: minimal
```
### Observer node (no validators)
```yaml
participants:
- el_type: geth
cl_type: lighthouse
validator_count: 0
network_params:
preset: minimal
```
## Monitoring
```bash
# Check finality
curl -s http://127.0.0.1:<cl-port>/eth/v1/beacon/states/head/finality_checkpoints | jq
# Check peers
curl -s http://127.0.0.1:<cl-port>/eth/v1/node/peers | jq '.data | length'
```
Finality requires ~6-8 min after genesis with default settings (32 slots/epoch, 12s/slot).
## Troubleshooting
| Issue | Fix |
|-------|----------------------------------------------------------------|
| Image not found | Verify image exists in registry; use `--image-download always` |
| Port conflicts | May be conflicting enclaves, ask user how to proceed |
================================================
FILE: .claude/skills/kurtosis-ethereum/kurtosis-ref.sh
================================================
#!/usr/bin/env bash
# Unified reference tool for ethereum-package configuration.
# Only fetches the source file(s) needed for the requested section.
#
# Usage:
# bash .claude/skills/kurtosis/kurtosis-ref.sh <section>
#
# Sections:
# clients Supported EL/CL/VC client types
# participants Participant fields with defaults
# network network_params fields with defaults
# forks Fork epoch fields and defaults
# mev MEV types and params
# services Additional services list
# sections Config subcategory and root-level params
# search <term> Search the README for a field/concept
# example <name> Fetch a CI test config (e.g. remote-signer, minimal, mix)
# examples List available CI test configs
# all Dump all sections
set -euo pipefail
SECTION="${1:-all}"
SEARCH_TERM="${2:-}"
BASE="https://raw.githubusercontent.com/ethpandaops/ethereum-package/main/src/package_io"
README_URL="https://raw.githubusercontent.com/ethpandaops/ethereum-package/main/README.md"
TESTS_URL="https://raw.githubusercontent.com/ethpandaops/ethereum-package/main/.github/tests"
TESTS_LIST_URL="https://api.github.com/repos/ethpandaops/ethereum-package/contents/.github/tests"
# Lazy loaders — each file fetched at most once per invocation
fetch_constants() { [[ -z "${constants:-}" ]] && constants=$(curl -sfL "$BASE/constants.star"); }
fetch_input_parser() { [[ -z "${input_parser:-}" ]] && input_parser=$(curl -sfL "$BASE/input_parser.star"); }
fetch_sanity_check() { [[ -z "${sanity_check:-}" ]] && sanity_check=$(curl -sfL "$BASE/sanity_check.star"); }
join_csv() { tr '\n' ',' | sed 's/,$//' | sed 's/,/, /g'; }
show_clients() {
fetch_constants
echo "## Supported Client Types"
echo ""
echo -n "EL: "; echo "$constants" | sed -n '/^EL_TYPE = struct(/,/^)/p' | grep '^ ' | sed 's/.*"\(.*\)".*/\1/' | join_csv; echo
echo -n "CL: "; echo "$constants" | sed -n '/^CL_TYPE = struct(/,/^)/p' | grep '^ ' | sed 's/.*"\(.*\)".*/\1/' | join_csv; echo
echo -n "VC: "; echo "$constants" | sed -n '/^VC_TYPE = struct(/,/^)/p' | grep '^ ' | sed 's/.*"\(.*\)".*/\1/' | join_csv; echo
}
show_participants() {
fetch_input_parser
echo "## Participant Fields (defaults)"
echo ""
echo "$input_parser" | sed -n '/^def default_participant/,/^def /p' | grep '^ *"[a-z]' | grep -v '^\s*"prometheus_config' | grep -v '^\s*"scrape_interval' | grep -v '^\s*"labels' | sed 's/^ *"\(.*\)": \(.*\),$/\1: \2/' | grep -v '^[[:space:]]*$'
echo "prometheus_config: {scrape_interval: \"15s\", labels: None}"
}
show_network() {
fetch_input_parser
echo "## network_params Fields (defaults)"
echo ""
echo "$input_parser" | sed -n '/^def default_network_params/,/^def /p' | grep '^ *"' | sed 's/^ *"\(.*\)": \(.*\),$/\1: \2/' | sed 's/constants\.DEFAULT_MNEMONIC/"<default-mnemonic>"/' | sed 's/constants\.FAR_FUTURE_EPOCH/FAR_FUTURE/'
}
show_forks() {
fetch_input_parser
echo "## Fork Epoch Defaults"
echo ""
echo "$input_parser" | sed -n '/^def default_network_params/,/^def /p' | grep '_fork_epoch' | sed 's/^ *"\(.*\)": \(.*\),$/\1: \2/' | sed 's/constants.FAR_FUTURE_EPOCH/FAR_FUTURE/'
}
show_mev() {
fetch_constants
echo "## MEV Types"
echo ""
echo "$constants" | grep '_MEV_TYPE = ' | sed 's/.*= "\(.*\)"/\1/' | join_csv; echo
echo ""
echo "## MEV Config"
echo "Set mev_type at root level. Optional mev_params for custom images."
echo "Participant-level: el_builder_type, cl_builder_type for builder roles."
}
show_services() {
fetch_sanity_check
echo "## Additional Services"
echo ""
echo "$sanity_check" | sed -n '/^ADDITIONAL_SERVICES_PARAMS = \[/,/^\]/p' | grep '"' | sed 's/.*"\(.*\)".*/\1/' | join_csv; echo
}
show_sections() {
fetch_sanity_check
echo "## Config Subcategory Params"
echo ""
echo "$sanity_check" | sed -n '/^SUBCATEGORY_PARAMS = {/,/^}/p' | grep '^ *"[a-z_]*": \[' | sed 's/^ *"\([a-z_]*\)".*/\1/' | sort -u | join_csv; echo
echo ""
echo "## Root-Level Params"
echo ""
echo "$sanity_check" | sed -n '/^ADDITIONAL_CATEGORY_PARAMS = {/,/^}/p' | grep '^ *"' | sed 's/^ *"\([a-z_]*\)".*/\1/' | join_csv; echo
}
do_search() {
local term="$1"
local readme
readme=$(curl -sfL "$README_URL")
echo "## Matches for '${term}' in ethereum-package README"
echo ""
echo "$readme" | grep -n -i -B3 -A2 "$term" | head -80
echo ""
echo "(Up to 80 lines shown. Refine search term if needed.)"
}
do_example() {
local name="$1"
# Try with .yaml extension first, then .yml
local content
content=$(curl -sfL "$TESTS_URL/${name}.yaml" 2>/dev/null) || \
content=$(curl -sfL "$TESTS_URL/${name}.yml" 2>/dev/null) || \
content=$(curl -sfL "$TESTS_URL/${name}" 2>/dev/null) || {
echo "No test config found for '${name}'."
echo "Use 'kurtosis-ref.sh examples' to list available configs."
return 1
}
echo "## CI test config: ${name}"
echo ""
echo "$content"
}
do_examples_list() {
local listing
listing=$(curl -sfL "$TESTS_LIST_URL") || {
echo "Failed to fetch test config listing."
return 1
}
echo "## Available CI test configs"
echo ""
echo "$listing" | grep '"name"' | sed 's/.*"name": "\(.*\)".*/\1/' | sed 's/\.yaml$//' | sed 's/\.yml$//' | sort
}
case "$SECTION" in
clients) show_clients ;;
participants) show_participants ;;
network|network_params) show_network ;;
forks) show_forks ;;
mev) show_mev ;;
services) show_services ;;
sections) show_sections ;;
search)
if [[ -z "$SEARCH_TERM" ]]; then
echo "Usage: kurtosis-ref.sh search <term>"
exit 1
fi
do_search "$SEARCH_TERM"
;;
example)
if [[ -z "$SEARCH_TERM" ]]; then
echo "Usage: kurtosis-ref.sh example <name>"
exit 1
fi
do_example "$SEARCH_TERM"
;;
examples) do_examples_list ;;
all)
fetch_constants; fetch_input_parser; fetch_sanity_check
show_clients; echo ""
show_mev; echo ""
show_services; echo ""
show_forks; echo ""
show_network; echo ""
show_participants; echo ""
show_sections
;;
*)
echo "Unknown section: $SECTION"
echo "Available: clients, participants, network, forks, mev, services, sections, search <term>, example <name>, examples, all"
exit 1
;;
esac
================================================
FILE: .editorconfig
================================================
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# This is the top-most .editorconfig file (do not search in parent directories)
root = true
# 4 space indentation for all starlark files
[*.star]
indent_style = space
indent_size = 4
# 4 space indentation for all python files
[*.py]
# 2 space indentation for all yaml files
[*.yml, *.yaml]
indent_style = space
indent_size = 2
# 2 space indentation for all json files
[*.json]
indent_style = space
indent_size = 2
[*.yaml]
indent_style = space
indent_size = 2
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: Bug report
about: Create a bug report
title: ''
labels: bug
assignees: ''
---
<!-- Ethereum package is meant for strictly development purposes. It is not suitable for production use, and the use of production setup will always be actively discouraged.
Please note that all issues related to setting up ethereum package in a production environment e.g:
- Setup a long running permanent network
- Exposing services for the public - rpc/beacon/tooling endpoints
- Syncing external nodes to an already running enclave
- Running testnet/mainnet validators
- Any other issues that smell like production use
Any issues that are related to to the above mentioned topics/related to running kurtosis with ethereum-package in a production like environment will be automatically closed. By opening an issue you agree to these terms. -->
================================================
FILE: .github/actions/docker-login/action.yaml
================================================
name: Docker login
description: Log in to Docker Hub
inputs:
username:
required: true
password:
required: true
runs:
using: composite
steps:
- name: Check for Docker Hub credentials
shell: bash
env:
DOCKER_USERNAME: ${{ inputs.username }}
DOCKER_PASSWORD: ${{ inputs.password }}
run: |
if [ -z "$DOCKER_USERNAME" ] || [ -z "$DOCKER_PASSWORD" ]; then
echo "AUTH_EXISTS=false" >> $GITHUB_ENV
echo "No credentials provided"
else
echo "AUTH_EXISTS=true" >> $GITHUB_ENV
echo "Credentials provided"
fi
- name: Login to Docker Hub
if: env.AUTH_EXISTS == 'true'
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
username: ${{ inputs.username }}
password: ${{ inputs.password }}
- name: Install regctl
uses: regclient/actions/regctl-installer@1b705e32d40851370799ea5814e83d0a5f6a70dc # v0.1.0
- name: Check Docker Hub Rate Limits
shell: bash
run: regctl image ratelimit ubuntu:latest
================================================
FILE: .github/actions/kurtosis-install/action.yaml
================================================
name: Kurtosis install
inputs:
version:
description: 'Version to install'
required: false
default: 'latest'
runs:
using: composite
steps:
- name: Install
shell: bash
run: |
echo "deb [trusted=yes] https://sdk.kurtosis.com/kurtosis-cli-release-artifacts/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
sudo apt update
if [ "${{ inputs.version }}" = "latest" ]; then
sudo apt install kurtosis-cli
else
sudo apt install kurtosis-cli=${{ inputs.version }}
fi
kurtosis analytics disable
echo "$(dirname $(which kurtosis))" >> $GITHUB_PATH
# Get the installed version and save it as an environment variable
KURTOSIS_VERSION=$(kurtosis version | grep -o 'Version:[[:space:]]*[^[:space:]]*' | cut -d':' -f2 | tr -d ' ')
echo "KURTOSIS_VERSION=$KURTOSIS_VERSION" >> $GITHUB_ENV
echo "Installed Kurtosis version: $KURTOSIS_VERSION"
================================================
FILE: .github/check-consensus-spec-values.py
================================================
#!/usr/bin/env python3
"""
Compares a generated config.yaml against the upstream consensus-specs config.
Exits non-zero if any non-excluded fields have different values or are missing
from our config relative to the upstream spec.
"""
import argparse
import sys
import urllib.request
import yaml
# Fields that are intentionally testnet-specific or explicitly excluded from comparison.
EXCLUDED_FIELDS = {
# Network identity - intentionally differs for testnets
"CONFIG_NAME",
# Merge transition - testnets start post-merge with TTD=0
"TERMINAL_TOTAL_DIFFICULTY",
# Genesis params - testnet-configurable
"MIN_GENESIS_ACTIVE_VALIDATOR_COUNT",
"MIN_GENESIS_TIME",
"GENESIS_FORK_VERSION",
"GENESIS_DELAY",
# Fork versions - testnet-specific values
"ALTAIR_FORK_VERSION",
"BELLATRIX_FORK_VERSION",
"CAPELLA_FORK_VERSION",
"DENEB_FORK_VERSION",
"ELECTRA_FORK_VERSION",
"FULU_FORK_VERSION",
"GLOAS_FORK_VERSION",
"HEZE_FORK_VERSION",
"EIP7928_FORK_VERSION",
# Fork activation epochs - testnets activate all forks at epoch 0
"ALTAIR_FORK_EPOCH",
"BELLATRIX_FORK_EPOCH",
"CAPELLA_FORK_EPOCH",
"DENEB_FORK_EPOCH",
"ELECTRA_FORK_EPOCH",
"FULU_FORK_EPOCH",
"GLOAS_FORK_EPOCH",
"HEZE_FORK_EPOCH",
"EIP7928_FORK_EPOCH",
# Deposit contract - testnet-configurable
"DEPOSIT_CHAIN_ID",
"DEPOSIT_NETWORK_ID",
"DEPOSIT_CONTRACT_ADDRESS",
# Blob schedule - explicitly excluded
"BLOB_SCHEDULE",
# Deprecated field moved to preset files, not present in spec configs
"SECONDS_PER_SLOT",
}
def load_yaml(path_or_url: str) -> dict:
if path_or_url.startswith("http://") or path_or_url.startswith("https://"):
with urllib.request.urlopen(path_or_url) as response:
return yaml.safe_load(response.read().decode())
with open(path_or_url) as f:
return yaml.safe_load(f)
def compare_configs(our_config: dict, spec_config: dict) -> bool:
failures = []
warnings = []
spec_keys = {k for k in spec_config if k not in EXCLUDED_FIELDS}
our_keys = {k for k in our_config if k not in EXCLUDED_FIELDS}
for key in sorted(spec_keys - our_keys):
failures.append(
f" MISSING in our config: {key!r} (spec has: {spec_config[key]!r})"
)
for key in sorted(spec_keys & our_keys):
spec_val = spec_config[key]
our_val = our_config[key]
if spec_val != our_val:
failures.append(
f" MISMATCH {key!r}:\n"
f" ours: {our_val!r}\n"
f" spec: {spec_val!r}"
)
for key in sorted(our_keys - spec_keys):
warnings.append(
f" EXTRA field in our config (not in spec): {key!r} = {our_config[key]!r}"
)
if warnings:
print("Warnings (fields present in our config but not in the upstream spec):")
for w in warnings:
print(w)
print()
if failures:
print(f"FAILED: {len(failures)} issue(s) found:")
for failure in failures:
print(failure)
return False
print(f"OK: all {len(spec_keys & our_keys)} comparable spec fields match.")
return True
def main():
parser = argparse.ArgumentParser(
description="Compare our generated config.yaml against the upstream consensus-specs config"
)
parser.add_argument(
"--our-config",
required=True,
help="Path to our generated config.yaml",
)
parser.add_argument(
"--spec-config",
required=True,
help="Path or HTTPS URL to the upstream consensus-spec config.yaml",
)
args = parser.parse_args()
our_config = load_yaml(args.our_config)
spec_config = load_yaml(args.spec_config)
if not compare_configs(our_config, spec_config):
sys.exit(1)
if __name__ == "__main__":
main()
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
actions:
patterns:
- '*'
================================================
FILE: .github/remove_trailing_space.py
================================================
# This is used by the pr-description-update action
# to trim trailing newlines and spaces in pr descriptions
import sys
def remove():
line = sys.argv[1]
return line.strip()
if __name__ == "__main__":
print(remove())
================================================
FILE: .github/tests/1gpu_zkvm.yaml_norun
================================================
# EIP-8025 testnet with zkboost backed by a single GPU ZisK prover.
#
#
# Run with:
# kurtosis run --enclave eip8025-zkboost-1gpu \
# . \
# --args-file .github/tests/1gpu_zkvm.yaml_norun
#
# Prerequisites:
# - NVIDIA GPU with drivers installed
# - NVIDIA Container Toolkit configured for Docker
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: reth
el_image: ghcr.io/paradigmxyz/reth
supernode: true
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=6
vc_extra_params:
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=6
count: 2
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: dummy
supernode: false
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=6
count: 2
network_params:
seconds_per_slot: 30
additional_services:
- zkboost
- dora
- prometheus
- grafana
- tempo
zkboost_params:
image: ghcr.io/eth-act/zkboost/zkboost:0.6.0
env:
RUST_LOG: info,zkboost=debug
instances:
- name: zkboost-1
el_participant_index: 0
zkvms:
- kind: ere
proof_type: reth-zisk
gpu:
device_ids: ["0"]
================================================
FILE: .github/tests/8gpu_zkvm.yaml_norun
================================================
# EIP-8025 testnet with zkboost backed by GPU (ZisK) provers.
#
#
# Run with:
# kurtosis run --enclave eip8025-zkboost-8gpu \
# . \
# --args-file .github/tests/8gpu_zkvm.yaml_norun
#
# Prerequisites:
# - NVIDIA GPUs with drivers installed (8 GPUs: 4 per prover type)
# - NVIDIA Container Toolkit configured for Docker
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: reth
el_image: ghcr.io/paradigmxyz/reth
supernode: true
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=2,6
vc_extra_params:
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=2,6
count: 2
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: reth
el_image: ghcr.io/paradigmxyz/reth
supernode: false
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=6
vc_extra_params:
- --proof-engine-endpoint=http://zkboost-1:3000
- --proof-types=6
count: 2
network_params:
fulu_fork_epoch: 0
seconds_per_slot: 6
snooper_enabled: false
global_log_level: debug
additional_services:
- zkboost
- dora
- prometheus
- grafana
- tempo
zkboost_params:
image: ghcr.io/eth-act/zkboost/zkboost:0.6.0
env:
RUST_LOG: info,zkboost=debug
instances:
- name: zkboost-1
el_participant_index: 0
zkvms:
- kind: ere
proof_type: reth-zisk
gpu:
device_ids: ["0", "1", "2", "3"]
- kind: ere
proof_type: ethrex-zisk
gpu:
device_ids: ["4", "5", "6", "7"]
================================================
FILE: .github/tests/altair-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
- el_type: reth
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: ethrex
cl_type: lodestar
additional_services:
- dora
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 1
capella_fork_epoch: 2
deneb_fork_epoch: 3
electra_fork_epoch: 4
fulu_fork_epoch: 5
bpo_1_epoch: 6
gloas_fork_epoch: 7
genesis_delay: 120
================================================
FILE: .github/tests/archive-storage.yaml.norun
================================================
# Test archive mode for clients that default to full (geth, nethermind, besu)
participants:
- el_type: geth
el_storage_type: archive
cl_type: lighthouse
- el_type: nethermind
el_storage_type: archive
cl_type: teku
- el_type: besu
el_storage_type: archive
cl_type: nimbus
================================================
FILE: .github/tests/assertoor.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
count: 1
- el_type: geth
cl_type: lodestar
count: 1
additional_services:
- assertoor
================================================
FILE: .github/tests/bal-devnet-0.yaml_norun
================================================
participants_matrix:
el:
- el_type: reth
el_image: ethpandaops/reth:bal-devnet-0
- el_type: geth
el_image: ethpandaops/geth:bal-devnet-0
- el_type: besu
el_image: ethpandaops/besu:bal-devnet-0
el_extra_params: ["--bonsai-parallel-tx-processing-enabled=false"]
cl:
- cl_type: lodestar
cl_image: ethpandaops/lodestar:bal-devnet-0
supernode: true
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:bal-devnet-0
network_params:
genesis_delay: 20
fulu_fork_epoch: 0
gloas_fork_epoch: 1
snooper_enabled: true
dora_params:
image: ethpandaops/dora:eip7928-support
additional_services:
- dora
- tx_fuzz
- spamoor
================================================
FILE: .github/tests/bellatrix-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
- el_type: reth
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: ethrex
cl_type: lodestar
additional_services:
- dora
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 1
deneb_fork_epoch: 2
electra_fork_epoch: 3
fulu_fork_epoch: 4
bpo_1_epoch: 5
gloas_fork_epoch: 6
genesis_delay: 120
================================================
FILE: .github/tests/besu-all.yaml
================================================
participants:
- el_type: besu
cl_type: prysm
- el_type: besu
cl_type: teku
- el_type: besu
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: besu
cl_type: lodestar
- el_type: besu
cl_type: grandine
================================================
FILE: .github/tests/binary.yaml_norun
================================================
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
count: 4
- el_type: geth
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
cl_binary_path: binary/lighthouse
additional_services:
- dora
================================================
FILE: .github/tests/binary_force.yaml_norun
================================================
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
count: 4
- el_type: geth
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
cl_binary_path: binary/lighthouse
cl_force_restart: true
additional_services:
- dora
================================================
FILE: .github/tests/blobber.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: lighthouse
blobber_enabled: true
blobber_image: ethpandaops/blobber:latest
blobber_extra_params:
- --proposal-action-frequency=1
- "--proposal-action={\"name\": \"blob_gossip_delay\", \"delay_milliseconds\": 3000}"
count: 1
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: lodestar
count: 1
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: prysm
blobber_enabled: true
blobber_image: ethpandaops/blobber:latest
blobber_extra_params:
- --proposal-action-frequency=1
- "--proposal-action={\"name\": \"blob_gossip_delay\", \"delay_milliseconds\": 30000}"
count: 1
additional_services:
- dora
- spamoor
# - "--proposal-action={\"name\": \"blob_gossip_delay\", \"delay_milliseconds\": 30000}"
# - "--proposal-action={\"name\": \"conflicting_blobs\"}"
================================================
FILE: .github/tests/bootnodoor.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
count: 1
- el_type: geth
cl_type: lodestar
count: 1
additional_services:
- dora
- bootnodoor
================================================
FILE: .github/tests/capella-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
- el_type: reth
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: ethrex
cl_type: teku
additional_services:
- dora
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 1
electra_fork_epoch: 2
fulu_fork_epoch: 3
bpo_1_epoch: 4
gloas_fork_epoch: 5
genesis_delay: 120
================================================
FILE: .github/tests/caplin-basic.yaml
================================================
participants:
- el_type: erigon
cl_type: caplin
use_separate_vc: true
vc_type: lighthouse
- el_type: geth
cl_type: lighthouse
================================================
FILE: .github/tests/consensoor-basic.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:epbs-devnet-0
cl_type: consensoor
cl_image: ethpandaops/consensoor:main
network_params:
#gloas_fork_epoch: 1 # GLOAS/ePBS at epoch 2 (slot 16 with minimal preset)
preset: mainnet
additional_services:
- dora
#- spamoor
snooper_enabled: true
global_log_level: debug
port_publisher:
cl:
enabled: true
additional_services:
enabled: true
================================================
FILE: .github/tests/custom-contracts.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: teku
network_params:
network: kurtosis
additional_preloaded_contracts: '{"0x123463a4B065722E99115D6c222f267d9cABb524": {"balance": "2ETH","code": "0x1234","storage": {}}}'
================================================
FILE: .github/tests/custom-mnemonics.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: teku
network_params:
network: kurtosis
num_validator_keys_per_node: 128
additional_mnemonics:
- mnemonic: "estate dog switch misery manage room million bleak wrap distance always insane usage busy chicken limit already duck feature unhappy dial emotion expire please"
count: 10
status: 1 # exited
- mnemonic: "bachelor goose intact globe grab observe youth kit castle purchase ranch safe wire planet portion artist soon captain before cute dinner arrange cat churn"
count: 10
status: 2 # slashed & exited
================================================
FILE: .github/tests/deneb-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: prysm
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 0
electra_fork_epoch: 1
fulu_fork_epoch: 2
bpo_1_epoch: 3
gloas_fork_epoch: 4
genesis_delay: 120
================================================
FILE: .github/tests/deneb.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
- el_type: reth
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: ethrex
cl_type: lodestar
additional_services:
- dora
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 1
electra_fork_epoch: 2
fulu_fork_epoch: 3
bpo_1_epoch: 4
gloas_fork_epoch: 5
preset: minimal
================================================
FILE: .github/tests/disable-peer-scoring.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: erigon
cl_type: nimbus
- el_type: nethermind
cl_type: prysm
- el_type: ethrex
cl_type: teku
disable_peer_scoring: true
================================================
FILE: .github/tests/dummy-el.yaml
================================================
participants:
- el_type: geth
- el_type: dummy
cl_type: teku
- el_type: dummy
cl_type: prysm
- el_type: dummy
cl_type: nimbus
- el_type: dummy
cl_type: lighthouse
- el_type: dummy
cl_type: lodestar
- el_type: dummy
cl_type: grandine
network_params:
preset: minimal
================================================
FILE: .github/tests/electra-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: lighthouse
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 0
electra_fork_epoch: 0
fulu_fork_epoch: 1
bpo_1_epoch: 1
gloas_fork_epoch: 2
genesis_delay: 120
additional_services:
- dora
================================================
FILE: .github/tests/ephemery.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: besu
cl_type: grandine
- el_type: ethrex
cl_type: teku
network_params:
network: sepolia
checkpoint_sync_enabled: true
================================================
FILE: .github/tests/erigon-all.yaml
================================================
participants:
- el_type: erigon
cl_type: teku
- el_type: erigon
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: erigon
cl_type: lighthouse
- el_type: erigon
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: erigon
cl_type: caplin
use_separate_vc: true
vc_type: lighthouse
================================================
FILE: .github/tests/erpc.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
count: 2
- el_type: reth
cl_type: prysm
count: 1
additional_services:
- erpc
================================================
FILE: .github/tests/ethereumjs-all.yaml.norun
================================================
participants:
- el_type: ethereumjs
cl_type: teku
- el_type: ethereumjs
cl_type: prysm
- el_type: ethereumjs
cl_type: nimbus
- el_type: ethereumjs
cl_type: lighthouse
- el_type: ethereumjs
cl_type: lodestar
- el_type: ethereumjs
cl_type: grandine
================================================
FILE: .github/tests/ethrex.yaml
================================================
participants:
- el_type: ethrex
cl_type: teku
- el_type: ethrex
cl_type: prysm
- el_type: ethrex
cl_type: nimbus
- el_type: ethrex
cl_type: lighthouse
- el_type: ethrex
cl_type: lodestar
- el_type: ethrex
cl_type: grandine
================================================
FILE: .github/tests/force.yaml
================================================
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
count: 2
- el_type: geth
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
cl_force_restart: true
================================================
FILE: .github/tests/full-storage.yaml.norun
================================================
# Test full mode for clients that default to archive (reth, erigon)
participants:
- el_type: reth
el_storage_type: full
cl_type: lighthouse
- el_type: erigon
el_storage_type: full
cl_type: teku
================================================
FILE: .github/tests/fulu-genesis.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
el_extra_params: ["--miner.extradata=lighthouseFromLocal"]
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
supernode: true
- el_type: nethermind
el_image: ethpandaops/nethermind:master
el_extra_params: ["--Blocks.ExtraData=TekuFromLocal"]
cl_type: teku
cl_image: ethpandaops/teku:master
- el_type: reth
el_image: ethpandaops/reth:main
el_extra_params: ["--builder.extradata=LodestarFromLocal"]
cl_type: lodestar
cl_image: ethpandaops/lodestar:unstable
- el_type: geth
el_image: ethpandaops/geth:master
el_extra_params: ["--miner.extradata=PrysmFromLocal"]
cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:develop
- el_type: nethermind
el_image: ethpandaops/nethermind:master
el_extra_params: ["--Blocks.ExtraData=NimbusFromLocal"]
cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:unstable
- el_type: reth
el_image: ethpandaops/reth:main
el_extra_params: ["--builder.extradata=GrandineFromLocal"]
cl_type: grandine
cl_image: ethpandaops/grandine:develop
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 0
electra_fork_epoch: 0
fulu_fork_epoch: 0
bpo_1_epoch: 1
gloas_fork_epoch: 2
genesis_delay: 120
additional_services:
- dora
================================================
FILE: .github/tests/fulu-mev.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
vc_image: ethpandaops/lighthouse:unstable
supernode: true
count: 2
- el_type: nethermind
el_image: ethpandaops/nethermind:master
cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:develop
supernode: true
additional_services:
- dora
- spamoor
mev_type: flashbots
mev_params:
mev_relay_image: ethpandaops/mev-boost-relay:main
mev_builder_image: ethpandaops/reth-rbuilder:develop
mev_boost_image: ethpandaops/mev-boost:develop
mev_builder_cl_image: ethpandaops/lighthouse:unstable
mev_builder_subsidy: 1
spamoor_params:
spammers:
- name: "Blob Spammer (Kurtosis Package)"
description: "3 type-4 blob transactions per slot with 1-2 sidecars each, gas/blobgas limit 20 gwei"
scenario: "blobs"
config:
throughput: 10
- name: "ERC txs"
description: "ERC txs"
scenario: "erctx"
config:
throughput: 50
max_pending: 400
network_params:
min_validator_withdrawability_delay: 1
shard_committee_period: 1
churn_limit_quotient: 16
prefunded_accounts: '{"0xb9e79d19f651a941757b35830232e7efc77e1c79": {"balance": "100000ETH"}}'
================================================
FILE: .github/tests/fulu.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
network_params:
altair_fork_epoch: 0
bellatrix_fork_epoch: 0
capella_fork_epoch: 0
deneb_fork_epoch: 0
electra_fork_epoch: 1
fulu_fork_epoch: 2
bpo_1_epoch: 3
gloas_fork_epoch: 4
================================================
FILE: .github/tests/geth-all.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: prysm
- el_type: geth
cl_type: nimbus
- el_type: geth
cl_type: lighthouse
- el_type: geth
cl_type: lodestar
- el_type: geth
cl_type: grandine
================================================
FILE: .github/tests/grandine-all.yaml
================================================
participants:
- el_type: geth
cl_type: grandine
- el_type: nethermind
cl_type: grandine
- el_type: erigon
cl_type: grandine
- el_type: besu
cl_type: grandine
- el_type: reth
cl_type: grandine
- el_type: ethrex
cl_type: grandine
- el_type: nimbus
cl_type: grandine
================================================
FILE: .github/tests/hoodi-shadowfork.yaml_norun
================================================
participants:
- el_type: geth
- el_type: nethermind
- el_type: besu
- el_type: reth
- el_type: erigon
network_params:
fulu_fork_epoch: 10
bpo_1_epoch: 11
network: hoodi-shadowfork
additional_services:
- dora
snooper_enabled: true
persistent: true
================================================
FILE: .github/tests/hoodi-shadowfork_at_height.yaml_norun
================================================
participants:
- el_type: geth
network_params:
fulu_fork_epoch: 10
bpo_1_epoch: 11
shadowfork_block_height: 240000
network: hoodi-shadowfork
additional_services:
- dora
persistent: true
================================================
FILE: .github/tests/lighthouse-all.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
- el_type: nethermind
cl_type: lighthouse
- el_type: erigon
cl_type: lighthouse
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lighthouse
- el_type: ethrex
cl_type: lighthouse
- el_type: nimbus
cl_type: lighthouse
================================================
FILE: .github/tests/lodestar-all.yaml
================================================
participants:
- el_type: geth
cl_type: lodestar
- el_type: nethermind
cl_type: lodestar
- el_type: erigon
cl_type: lodestar
- el_type: besu
cl_type: lodestar
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: lodestar
- el_type: nimbus
cl_type: lodestar
================================================
FILE: .github/tests/mainnet-split.yaml.norun
================================================
participants:
# Prysm nodes (33%)
- el_type: geth
cl_type: prysm
- el_type: geth
cl_type: prysm
- el_type: nethermind
cl_type: prysm
- el_type: nethermind
cl_type: prysm
- el_type: besu
cl_type: prysm
# Lighthouse nodes (32%)
- el_type: geth
cl_type: lighthouse
- el_type: geth
cl_type: lighthouse
- el_type: nethermind
cl_type: lighthouse
- el_type: nethermind
cl_type: lighthouse
- el_type: besu
cl_type: lighthouse
# Teku nodes (27%)
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: teku
- el_type: nethermind
cl_type: teku
- el_type: besu
cl_type: teku
# Nimbus nodes (4%)
- el_type: geth
cl_type: nimbus
# One each of Lodestar and Grandine
- el_type: reth
cl_type: lodestar
- el_type: erigon
cl_type: grandine
# Enable MEV via the flashbots stack
mev_type: flashbots
additional_services:
- dora
- spamoor
- tx_fuzz
- assertoor
global_log_level: debug
================================================
FILE: .github/tests/mainnet.yaml.norun
================================================
participants_matrix:
el:
- el_type: geth
el_image: ethereum/client-go:v1.15.11
- el_type: reth
el_image: ghcr.io/paradigmxyz/reth:v1.4.8
- el_type: nethermind
el_image: nethermind/nethermind:1.31.11
- el_type: erigon
el_image: erigontech/erigon:v3.0.7
- el_type: besu
el_image: hyperledger/besu:25.6.0
cl:
- cl_type: lighthouse
cl_image: sigp/lighthouse:v7.0.1
- cl_type: teku
cl_image: consensys/teku:25.5.0
- cl_type: nimbus
cl_image: statusim/nimbus-eth2:multiarch-v25.6.0
- cl_type: lodestar
cl_image: chainsafe/lodestar:v1.31.0
- cl_type: prysm
cl_image: offchainlabs/prysm-beacon-chain:v6.0.4
vc_image: offchainlabs/prysm-validator:v6.0.4
network_params:
min_validator_withdrawability_delay: 1
shard_committee_period: 1
churn_limit_quotient: 16
additional_services:
- dora
- assertoor
- spamoor
snooper_enabled: false
assertoor_params:
image: "ethpandaops/assertoor:master"
run_stability_check: false
run_block_proposal_check: false
tests:
- { file: "https://raw.githubusercontent.com/ethpandaops/assertoor-test/master/assertoor-tests/pectra-dev/wait-for-slot.yaml", id: "wait1", config: { slot: 34 }}
- { file: "https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/pectra-dev/validator-lifecycle-test-v3.yaml"}
- { file: "https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/pectra-dev/kurtosis/all.yaml" }
- { file: "https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/pectra-dev/execution-spec-tests-sequential.yaml" }
================================================
FILE: .github/tests/mempool_bridge.yaml
================================================
participants:
- el_type: geth
cl_type: teku
count: 2
additional_services:
- mempool_bridge
- dora
network_params:
network: sepolia
shadowfork_block_height: 340000
withdrawal_type: "0x01"
validator_balance: 1000000
withdrawal_address: "0x4d1CB4eB7969f8806E2CaAc0cbbB71f88C8ec413"
persistent: true
mempool_bridge_params:
log_level: "debug"
mode: "rpc"
source_enodes:
- http://127.0.0.1:8545
- http://127.0.0.1:8546
================================================
FILE: .github/tests/mev-buildoor.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
count: 2
mev_type: buildoor
buildoor_params:
builder_api: true
epbs_builder: true
additional_services:
- dora
- spamoor
================================================
FILE: .github/tests/mev-commit-boost.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
mev_type: commit-boost
additional_services:
- tx_fuzz
- spamoor
- custom_flood
- forkmon
- dora
- prometheus
- grafana
mev_params:
mev_boost_image: ghcr.io/commit-boost/pbs:latest
network_params:
seconds_per_slot: 3
================================================
FILE: .github/tests/mev-helix.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
vc_image: ethpandaops/lighthouse:unstable
supernode: true
count: 2
- el_type: nethermind
el_image: ethpandaops/nethermind:master
cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:develop
supernode: true
additional_services:
- dora
- spamoor
mev_type: helix
mev_params:
mev_relay_image: ghcr.io/gattaca-com/helix-relay:main
mev_builder_image: ethpandaops/reth-rbuilder:develop
mev_boost_image: ethpandaops/mev-boost:develop
mev_builder_cl_image: ethpandaops/lighthouse:unstable
mev_builder_subsidy: 1
spamoor_params:
spammers:
- name: "Blob Spammer (Kurtosis Package)"
description: "3 type-4 blob transactions per slot with 1-2 sidecars each, gas/blobgas limit 20 gwei"
scenario: "blobs"
config:
throughput: 10
- name: "ERC txs"
description: "ERC txs"
scenario: "erctx"
config:
throughput: 50
max_pending: 400
network_params:
min_validator_withdrawability_delay: 1
shard_committee_period: 1
churn_limit_quotient: 16
prefunded_accounts: '{"0xb9e79d19f651a941757b35830232e7efc77e1c79": {"balance": "100000ETH"}}'
================================================
FILE: .github/tests/mev-mock.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
count: 3
mev_type: mock
additional_services:
- dora
- spamoor
- tx_fuzz
mev_params:
mock_mev_image: "ethpandaops/rustic-builder:main"
================================================
FILE: .github/tests/mev-multiple-relays.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
vc_image: ethpandaops/lighthouse:unstable
supernode: true
count: 2
- el_type: nethermind
el_image: ethpandaops/nethermind:master
cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:develop
supernode: true
additional_services:
- dora
- spamoor
# Use flashbots as base mev_type, but run_multiple_relays will launch both flashbots and helix
mev_type: flashbots
mev_params:
mev_relay_image: ethpandaops/mev-boost-relay:main
mev_builder_image: ethpandaops/reth-rbuilder:develop
mev_boost_image: ethpandaops/mev-boost:develop
mev_builder_cl_image: ethpandaops/lighthouse:unstable
mev_builder_subsidy: 1
run_multiple_relays: true
helix_relay_image: ghcr.io/gattaca-com/helix-relay:main
spamoor_params:
spammers:
- name: "Blob Spammer (Kurtosis Package)"
description: "3 type-4 blob transactions per slot with 1-2 sidecars each, gas/blobgas limit 20 gwei"
scenario: "blobs"
config:
throughput: 10
- name: "ERC txs"
description: "ERC txs"
scenario: "erctx"
config:
throughput: 50
max_pending: 400
network_params:
min_validator_withdrawability_delay: 1
shard_committee_period: 1
churn_limit_quotient: 16
prefunded_accounts: '{"0xb9e79d19f651a941757b35830232e7efc77e1c79": {"balance": "100000ETH"}}'
================================================
FILE: .github/tests/mev.yaml
================================================
participants:
- el_type: geth
el_extra_params: ["--miner.extradata=localGeth"]
cl_type: lighthouse
mev_type: flashbots
mev_params:
mev_builder_image: ethpandaops/reth-rbuilder:develop
mev_relay_image: ethpandaops/mev-boost-relay:main
mev_boost_image: ethpandaops/mev-boost:develop
additional_services:
- tx_fuzz
- custom_flood
- spamoor
- dora
- prometheus
- grafana
network_params:
seconds_per_slot: 6
================================================
FILE: .github/tests/minimal-fulu.yaml
================================================
participants:
- el_type: geth
el_image: ethpandaops/geth:master
el_extra_params: ["--miner.extradata=lighthouseFromLocal"]
cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
supernode: true
- el_type: nethermind
el_image: ethpandaops/nethermind:master
el_extra_params: ["--Blocks.ExtraData=TekuFromLocal"]
cl_type: teku
cl_image: ethpandaops/teku:master
- el_type: reth
el_image: ethpandaops/reth:main
el_extra_params: ["--builder.extradata=LodestarFromLocal"]
cl_type: lodestar
cl_image: ethpandaops/lodestar:unstable
- el_type: geth
el_image: ethpandaops/geth:master
el_extra_params: ["--miner.extradata=PrysmFromLocal"]
cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:develop-minimal
- el_type: nethermind
el_image: ethpandaops/nethermind:master
el_extra_params: ["--Blocks.ExtraData=NimbusFromLocal"]
cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:unstable-minimal
- el_type: reth
el_image: ethpandaops/reth:main
el_extra_params: ["--builder.extradata=GrandineFromLocal"]
cl_type: grandine
cl_image: ethpandaops/grandine:develop-minimal
additional_services:
- dora
- tx_fuzz
- spamoor
- assertoor
network_params:
min_validator_withdrawability_delay: 1
shard_committee_period: 1
churn_limit_quotient: 16
fulu_fork_epoch: 0
genesis_delay: 120
preset: minimal
assertoor_params:
tests:
- file: https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/pectra-dev/kurtosis/fillup-all-el-queues.yaml
config:
requestCount: 1000 # total number of requests
walletCount: 2 # number of wallets to send from for each request type
throughputPerWallet: 2 # number of transactions per slot, type and wallet
maxPendingPerWallet: 10 # max number of pending requests per type
================================================
FILE: .github/tests/minimal-mev.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: geth
cl_type: grandine
- el_type: ethrex
cl_type: lodestar
network_params:
preset: minimal
prefunded_accounts: '{"0xb9e79D19f651a941757b35830232E7EFC77E1c79": {"balance": "100000ETH"}}'
additional_services:
- dora
- spamoor
mev_type: flashbots
mev_params:
mev_relay_image: ethpandaops/mev-boost-relay:main
mev_boost_image: ethpandaops/mev-boost:develop
mev_builder_cl_image: ethpandaops/lighthouse:unstable
mev_builder_image: ethpandaops/reth-rbuilder:develop
mev_builder_subsidy: 1
================================================
FILE: .github/tests/minimal.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: nimbus
cl_type: nimbus
- el_type: ethrex
cl_type: grandine
- el_type: geth
cl_type: grandine
network_params:
preset: minimal
================================================
FILE: .github/tests/mix-assert.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: grandine
network_params:
preset: minimal
additional_services:
- assertoor
- dora
assertoor_params:
run_stability_check: false
run_block_proposal_check: true
================================================
FILE: .github/tests/mix-persistence-k8s.yaml
================================================
participants:
- el_type: geth
cl_type: teku
use_separate_vc: true
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
use_separate_vc: true
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: nimbus
persistent: true
================================================
FILE: .github/tests/mix-persistence.yaml
================================================
participants:
- el_type: geth
cl_type: teku
use_separate_vc: true
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
use_separate_vc: true
- el_type: reth
cl_type: lodestar
- el_type: besu
cl_type: lighthouse
- el_type: ethrex
cl_type: nimbus
persistent: true
================================================
FILE: .github/tests/mix-public.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: grandine
port_publisher:
nat_exit_ip: KURTOSIS_IP_ADDR_PLACEHOLDER
el:
enabled: true
public_port_start: 40000
cl:
enabled: true
public_port_start: 41000
vc:
enabled: true
public_port_start: 42000
remote_signer:
enabled: true
public_port_start: 43000
additional_services:
enabled: true
public_port_start: 44000
mev:
enabled: true
public_port_start: 45000
other:
enabled: true
public_port_start: 46000
additional_services:
- tx_fuzz
- forkmon
- dora
- checkpointz
- prometheus
- grafana
- dugtrio
- erpc
- apache
- tracoor
- spamoor
ethereum_metrics_exporter_enabled: true
snooper_enabled: true
keymanager_enabled: true
================================================
FILE: .github/tests/mix-with-tools-mev.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: teku
additional_services:
- tx_fuzz
- forkmon
- dora
- checkpointz
- prometheus
- grafana
- custom_flood
- blockscout
- dugtrio
- erpc
- apache
- tracoor
- spamoor
ethereum_metrics_exporter_enabled: true
snooper_enabled: true
mev_type: flashbots
mev_params:
mev_relay_image: ethpandaops/mev-boost-relay:main
persistent: True
================================================
FILE: .github/tests/mix-with-tools-minimal.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: geth
cl_type: grandine
- el_type: ethrex
cl_type: lodestar
- el_type: erigon
cl_type: caplin
use_separate_vc: true
vc_type: lighthouse
network_params:
preset: minimal
additional_services:
- tx_fuzz
- forkmon
- dora
- checkpointz
- prometheus
- grafana
- custom_flood
- blockscout
- dugtrio
- erpc
- apache
- tracoor
- spamoor
- bootnodoor
ethereum_metrics_exporter_enabled: true
snooper_enabled: true
keymanager_enabled: true
================================================
FILE: .github/tests/mix-with-tools.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: nimbus
cl_type: teku
- el_type: ethrex
cl_type: grandine
- el_type: geth
cl_type: grandine
- el_type: erigon
cl_type: caplin
use_separate_vc: true
vc_type: lighthouse
additional_services:
- tx_fuzz
- forkmon
- dora
- checkpointz
- prometheus
- grafana
- dugtrio
- erpc
- apache
- tracoor
- spamoor
ethereum_metrics_exporter_enabled: true
snooper_enabled: true
keymanager_enabled: true
================================================
FILE: .github/tests/mix.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: nimbus
cl_type: teku
- el_type: ethrex
cl_type: grandine
- el_type: erigon
cl_type: caplin
use_separate_vc: true
vc_type: lighthouse
================================================
FILE: .github/tests/mixed-cl-vc.yml
================================================
participants:
- el_type: geth
cl_type: teku
use_separate_vc: true
vc_type: lodestar
- el_type: besu
cl_type: nimbus
use_separate_vc: true
vc_type: lighthouse
================================================
FILE: .github/tests/multi-beacon.yaml
================================================
participants:
- supernode: true
- cl_type: lighthouse
vc_beacon_node_indices: [] # Connect to its own beacon node
- cl_type: lighthouse
vc_beacon_node_indices: [0, 1, 2] # Connect to both beacon nodes (indices 0, 1 and its own beacon)
- cl_type: lodestar
vc_beacon_node_indices: [0, 1, 2] # Connect to both beacon nodes (indices 0, 1 and 2)
- cl_type: prysm
vc_beacon_node_indices: [0, 1, 2] # Connect to both beacon nodes (indices 0, 1 and 2)
- cl_type: teku
use_separate_vc: true
vc_beacon_node_indices: [0, 1, 2] # Connect to both beacon nodes (indices 0, 1 and 2)
- cl_type: nimbus
use_separate_vc: true
vc_beacon_node_indices: [0, 1, 2] # Connect to both beacon nodes (indices 0, 1 and 2)
additional_services:
- dora
================================================
FILE: .github/tests/nethermind-all.yaml
================================================
participants:
- el_type: nethermind
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: nethermind
cl_type: lighthouse
- el_type: nethermind
cl_type: lodestar
- el_type: nethermind
cl_type: grandine
================================================
FILE: .github/tests/nimbus-all.yaml
================================================
participants:
- el_type: geth
cl_type: nimbus
- el_type: nethermind
cl_type: nimbus
- el_type: erigon
cl_type: nimbus
- el_type: besu
cl_type: nimbus
- el_type: reth
cl_type: nimbus
- el_type: ethrex
cl_type: nimbus
- el_type: nimbus
cl_type: nimbus
================================================
FILE: .github/tests/nimbus-eth1-all.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nimbus
cl_type: teku
- el_type: nimbus
cl_type: prysm
- el_type: nimbus
cl_type: nimbus
- el_type: nimbus
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: nimbus
cl_type: grandine
================================================
FILE: .github/tests/nimbus-mev.yaml
================================================
participants:
- el_type: geth
cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:unstable
mev_type: flashbots
================================================
FILE: .github/tests/node-selectors.yaml
================================================
participants:
- el_type: reth
cl_type: teku
use_separate_vc: true
node_selectors: {
"kubernetes.io/hostname": testing-1,
}
- el_type: reth
cl_type: teku
use_separate_vc: true
global_node_selectors: {
"kubernetes.io/hostname": testing-2,
}
================================================
FILE: .github/tests/parallel-keystores.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: teku
validator_count: 0
- el_type: geth
cl_type: teku
parallel_keystore_generation: true
================================================
FILE: .github/tests/participants-matrix.yaml
================================================
participants_matrix:
el:
- el_type: besu
cl:
- cl_type: prysm
vc:
- vc_type: nimbus
participants:
- count: 1
================================================
FILE: .github/tests/phase0-genesis.yaml
================================================
participants:
- el_type: geth
cl_type: teku
supernode: true
- el_type: reth
cl_type: prysm
- el_type: nethermind
cl_type: nimbus
- el_type: besu
cl_type: lighthouse
- el_type: nimbus
cl_type: lodestar
- el_type: erigon
cl_type: grandine
- el_type: ethrex
cl_type: teku
additional_services:
- dora
network_params:
altair_fork_epoch: 1
bellatrix_fork_epoch: 2
capella_fork_epoch: 3
deneb_fork_epoch: 4
electra_fork_epoch: 5
fulu_fork_epoch: 6
bpo_1_epoch: 7
gloas_fork_epoch: 8
genesis_delay: 120
================================================
FILE: .github/tests/preregistered_validator_count.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: geth
cl_type: prysm
- el_type: geth
cl_type: nimbus
- el_type: geth
cl_type: lighthouse
- el_type: geth
cl_type: lodestar
network_params:
preregistered_validator_count: 400
================================================
FILE: .github/tests/prysm-all.yaml
================================================
participants:
- el_type: geth
cl_type: prysm
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: prysm
- el_type: besu
cl_type: prysm
- el_type: reth
cl_type: prysm
- el_type: ethrex
cl_type: prysm
- el_type: nimbus
cl_type: prysm
================================================
FILE: .github/tests/rakoon.yaml
================================================
participants:
- el_type: geth
cl_type: lighthouse
- el_type: reth
cl_type: teku
additional_services:
- rakoon
- dora
rakoon_params:
tx_type: "eip7702"
workers: 50
batch_size: 100
================================================
FILE: .github/tests/remote-signer.yaml
================================================
participants:
- el_type: geth
cl_type: lodestar
use_separate_vc: true
use_remote_signer: true
- el_type: geth
cl_type: nimbus
use_separate_vc: true
use_remote_signer: true
- el_type: geth
cl_type: prysm
use_separate_vc: true
use_remote_signer: true
- el_type: geth
cl_type: teku
use_separate_vc: true
use_remote_signer: true
- el_type: geth
cl_type: grandine
use_separate_vc: true
use_remote_signer: true
# Grandine doesn't have a separate VC
vc_type: lodestar
================================================
FILE: .github/tests/reth-all.yaml
================================================
participants:
- el_type: reth
cl_type: teku
- el_type: reth
cl_type: prysm
- el_type: reth
cl_type: nimbus
- el_type: reth
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: reth
cl_type: grandine
================================================
FILE: .github/tests/sepolia-mix.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: prysm
- el_type: erigon
cl_type: lighthouse
- el_type: besu
cl_type: lighthouse
- el_type: reth
cl_type: lodestar
- el_type: ethrex
cl_type: nimbus
network_params:
network: sepolia
checkpoint_sync_enabled: true
================================================
FILE: .github/tests/skip.yaml
================================================
participants:
- cl_type: prysm
- cl_type: lighthouse
checkpoint_sync_enabled: true
skip_start: true
validator_count: 1
- cl_type: teku
checkpoint_sync_enabled: true
skip_start: true
validator_count: 1
- cl_type: lodestar
checkpoint_sync_enabled: true
skip_start: true
validator_count: 1
- cl_type: grandine
checkpoint_sync_enabled: true
skip_start: true
validator_count: 1
network_params:
seconds_per_slot: 4
preset: minimal
additional_services:
- dora
- checkpointz
================================================
FILE: .github/tests/split-nimbus.yaml
================================================
participants:
- el_type: geth
cl_type: nimbus
use_separate_vc: true
validator_count: 0
- el_type: nethermind
cl_type: nimbus
use_separate_vc: true
- el_type: erigon
cl_type: nimbus
use_separate_vc: true
- el_type: besu
cl_type: nimbus
use_separate_vc: true
- el_type: reth
cl_type: nimbus
use_separate_vc: true
- el_type: ethrex
cl_type: nimbus
use_separate_vc: true
================================================
FILE: .github/tests/split-teku.yaml
================================================
participants:
- el_type: geth
cl_type: teku
validator_count: 0
use_separate_vc: true
- el_type: nethermind
cl_type: teku
use_separate_vc: true
- el_type: erigon
cl_type: teku
use_separate_vc: true
- el_type: besu
cl_type: teku
use_separate_vc: true
- el_type: reth
cl_type: teku
use_separate_vc: true
- el_type: ethrex
cl_type: teku
use_separate_vc: true
================================================
FILE: .github/tests/teku-all.yaml
================================================
participants:
- el_type: geth
cl_type: teku
- el_type: nethermind
cl_type: teku
- el_type: erigon
cl_type: teku
- el_type: besu
cl_type: teku
- el_type: reth
cl_type: teku
- el_type: ethrex
cl_type: teku
- el_type: nimbus
cl_type: teku
================================================
FILE: .github/tests/tolerations.yaml
================================================
participants:
- el_type: reth
cl_type: teku
use_separate_vc: true
cl_tolerations:
- key: "node-role.kubernetes.io/master1"
operator: "Exists"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/master2"
operator: "Exists"
effect: "NoSchedule"
el_tolerations:
- key: "node-role.kubernetes.io/master3"
operator: "Exists"
effect: "NoSchedule"
vc_tolerations:
- key: "node-role.kubernetes.io/master4"
operator: "Exists"
effect: "NoSchedule"
- el_type: reth
cl_type: teku
use_separate_vc: true
tolerations:
- key: "node-role.kubernetes.io/master5"
operator: "Exists"
effect: "NoSchedule"
- el_type: reth
cl_type: teku
use_separate_vc: true
additional_services:
- dora
global_tolerations:
- key: "node-role.kubernetes.io/master6"
value: "true"
operator: "Equal"
effect: "NoSchedule"
================================================
FILE: .github/tests/vero-all.yaml
================================================
participants:
- el_type: besu
cl_type: grandine
use_separate_vc: true
vc_type: vero
use_remote_signer: true
- el_type: erigon
cl_type: lighthouse
use_separate_vc: true
vc_type: vero
use_remote_signer: true
- el_type: ethrex
cl_type: lodestar
use_separate_vc: true
vc_type: vero
use_remote_signer: true
- el_type: geth
cl_type: nimbus
use_separate_vc: true
vc_type: vero
use_remote_signer: true
- el_type: nethermind
cl_type: prysm
use_separate_vc: true
vc_type: vero
use_remote_signer: true
- el_type: reth
cl_type: teku
use_separate_vc: true
vc_type: vero
use_remote_signer: true
================================================
FILE: .github/tests/zkboost.yaml
================================================
participants:
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: reth
supernode: true
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost:3000
- --proof-types=6
vc_extra_params:
- --proof-engine-endpoint=http://zkboost:3000
- --proof-types=6
count: 2
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:eth-act-optional-proofs
el_type: reth
supernode: false
cl_extra_params:
- --target-peers=3
- --proof-engine-endpoint=http://zkboost:3000
- --proof-types=6
count: 2
additional_services:
- zkboost
- dora
- prometheus
- grafana
- tempo
================================================
FILE: .github/workflows/check-consensus-spec-values.yml
================================================
name: Check consensus spec values
on:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-consensus-spec-values:
name: Check consensus spec values (${{ matrix.preset }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- preset: mainnet
args_file: network_params.yaml
- preset: minimal
args_file: .github/tests/minimal.yaml
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/docker-login
with:
username: ethpandaops
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Setup Kurtosis
uses: ./.github/actions/kurtosis-install
- name: Run genesis
run: |
kurtosis run ${{ github.workspace }} --enclave spec-check-${{ matrix.preset }} --args-file ${{ matrix.args_file }} --verbosity detailed --image-download always
- name: Check consensus spec values
run: |
pip install pyyaml --quiet
curl -fsSL \
"https://raw.githubusercontent.com/ethereum/consensus-specs/master/configs/${{ matrix.preset }}.yaml" \
-o /tmp/spec.yaml
kurtosis files download spec-check-${{ matrix.preset }} el_cl_genesis_data /tmp/genesis
python3 .github/check-consensus-spec-values.py \
--our-config /tmp/genesis/config.yaml \
--spec-config /tmp/spec.yaml
================================================
FILE: .github/workflows/check-typos.yml
================================================
name: Check typos
on:
pull_request:
branches:
- main
jobs:
check-typos:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Check for typos
uses: crate-ci/typos@cf5f1c29a8ac336af8568821ec41919923b05a83 # v1.45.1
================================================
FILE: .github/workflows/conventional-pr-title-checker.yml
================================================
# Check PR title for conventional commits
name: Check PR title
on:
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize
# cancel redundant builds
concurrency:
group: "title-checker-${{ github.head_ref }}"
cancel-in-progress: true
jobs:
title_check:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/workflows/nightly.yml
================================================
name: Nightly test Workflow
on:
schedule:
- cron: "0 2 * * *" # This schedules the workflow to run at 02:00 UTC every day
workflow_dispatch:
jobs:
list-yamls:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- id: set-matrix
# List all yaml files in the .github/tests directory, except for the k8s.yaml file
run: echo "matrix=$(ls ./.github/tests/*.yaml | grep -vE 'k8s.yaml$' | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
run_with_args:
needs:
- list-yamls
strategy:
matrix:
file_name: ${{ fromJson(needs.list-yamls.outputs.matrix) }}
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/docker-login
with:
username: ethpandaops
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Setup Kurtosis
uses: ./.github/actions/kurtosis-install
- name: Run Starlark
run: |
if [ "${{ matrix.file_name }}" != "./.github/tests/mix-with-tools-mev.yaml" ]; then
kurtosis run ${{ github.workspace }} --verbosity detailed --args-file ${{ matrix.file_name }}
else
echo "Skipping ./.github/tests/mix-with-tools-mev.yaml"
fi
- name: Check if Discord Webhook is Set
id: check_discord_webhook
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
run: |
if [ -z "$DISCORD_WEBHOOK" ]; then
echo "discord_webhook_set=false" >> $GITHUB_ENV
else
echo "discord_webhook_set=true" >> $GITHUB_ENV
fi
- name: Notify
if: (cancelled() || failure()) && env.discord_webhook_set == 'true'
uses: nobrayner/discord-webhook@1766a33bf571acdcc0678f00da4fb83aad01ebc7 # v1
with:
description: "The nightly test for ${{matrix.file_name}} on ethereum-package has failed find it here ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
github-token: ${{ secrets.github_token }}
discord-webhook: ${{ secrets.DISCORD_WEBHOOK }}
assertoor-mix-assert:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/docker-login
with:
username: ethpandaops
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Kurtosis Assertoor GitHub Action
uses: ethpandaops/kurtosis-assertoor-github-action@f64942cbc780df731a731ea9f45765b161d2c8df # v1
with:
kurtosis_extra_args: "--image-download always --non-blocking-tasks --verbosity DETAILED"
ethereum_package_branch: ""
ethereum_package_args: .github/tests/mix-assert.yaml
ethereum_package_url: "$GITHUB_WORKSPACE"
persistent_logs: "true"
================================================
FILE: .github/workflows/per-pr.yml
================================================
name: CI
on:
pull_request:
concurrency:
group: "tests-${{ github.head_ref }}"
cancel-in-progress: true
jobs:
run_with_args:
strategy:
matrix:
file_name:
[
"./.github/tests/mev.yaml",
"./.github/tests/mev-mock.yaml",
"./.github/tests/mix-with-tools.yaml",
"./.github/tests/mix-persistence.yaml",
"./.github/tests/mix-public.yaml",
"./.github/tests/minimal.yaml",
"./network_params.yaml",
"."
]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/docker-login
with:
username: ethpandaops
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Setup Kurtosis
uses: ./.github/actions/kurtosis-install
- name: Run Starlark
run: |
if [[ "${{ matrix.file_name }}" == "." ]]; then
echo "ENCLAVE=default" >> "$GITHUB_ENV"
kurtosis run ${{ github.workspace }} --enclave "default" --verbosity detailed --image-download always
else
enclave=$(basename "${{ matrix.file_name }}" .yaml | tr '_.' '--')
echo "ENCLAVE=$enclave" >> "$GITHUB_ENV"
kurtosis run ${{ github.workspace }} --enclave "$enclave" --args-file ${{ matrix.file_name }} --verbosity detailed --image-download always
fi
- name: Upload genesis config
if: matrix.file_name == '.' || matrix.file_name == './network_params.yaml' || matrix.file_name == './.github/tests/minimal.yaml'
run: kurtosis files download "$ENCLAVE" el_cl_genesis_data /tmp/genesis-$ENCLAVE
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: matrix.file_name == '.' || matrix.file_name == './network_params.yaml' || matrix.file_name == './.github/tests/minimal.yaml'
with:
name: genesis-config-${{ env.ENCLAVE }}
path: /tmp/genesis-${{ env.ENCLAVE }}/config.yaml
retention-days: 1
check-consensus-spec-values:
name: Check consensus spec values (${{ matrix.label }})
needs: run_with_args
continue-on-error: true
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: default
artifact: genesis-config-default
preset: mainnet
- label: network-params
artifact: genesis-config-network-params
preset: mainnet
- label: minimal
artifact: genesis-config-minimal
preset: minimal
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: ${{ matrix.artifact }}
path: /tmp/genesis
- name: Install pyyaml
run: pip install pyyaml --quiet
- name: Download upstream consensus-specs config
run: |
curl -fsSL \
"https://raw.githubusercontent.com/ethereum/consensus-specs/master/configs/${{ matrix.preset }}.yaml" \
-o /tmp/spec.yaml
- name: Compare genesis config.yaml against upstream spec
run: |
python3 .github/check-consensus-spec-values.py \
--our-config /tmp/genesis/config.yaml \
--spec-config /tmp/spec.yaml
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Kurtosis
uses: ./.github/actions/kurtosis-install
- name: Kurtosis Lint
run: kurtosis lint ${{ github.workspace }}
assertoor:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/docker-login
with:
username: ethpandaops
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Kurtosis Assertoor GitHub Action
uses: ethpandaops/kurtosis-assertoor-github-action@f64942cbc780df731a731ea9f45765b161d2c8df # v1
with:
ethereum_package_url: "."
ethereum_package_branch: ""
ethereum_package_args: .github/tests/mix-assert.yaml
#check_optimism_package:
# runs-on: ubuntu-latest
# steps:
# - name: Check out Repository
# uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# - name: Setup Kurtosis
# uses: ./.github/actions/kurtosis-install
# - name: Run L1
# run: |
# kurtosis run --enclave test ${{ github.workspace }} --args-file https://raw.githubusercontent.com/ethpandaops/optimism-package/refs/heads/main/.github/tests/external-l1/ethereum.yaml --verbosity detailed
# - name: Run L2
# run: |
# kurtosis run --enclave test github.com/ethpandaops/optimism-package --args-file https://raw.githubusercontent.com/ethpandaops/optimism-package/refs/heads/main/.github/tests/external-l1/optimism.yaml --verbosity detailed
================================================
FILE: .github/workflows/release-please.yml
================================================
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
name: release-please
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- name: Run Release Please
uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
with:
token: ${{ secrets.PAT }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
================================================
FILE: .github/workflows/run-k8s.yml
================================================
name: Run k8s test
on:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'
concurrency:
group: "scheduled-test"
cancel-in-progress: false
jobs:
run_k8s_test:
strategy:
matrix:
payload:
- { name: "minimal", file: "./.github/tests/minimal.yaml" }
- { name: "network-params", file: "./network_params.yaml" }
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup minikube
id: minikube
uses: medyagh/setup-minikube@e9e035a86bbc3caea26a450bd4dbf9d0c453682e # v0.0.21
- name: Get kubeconfig
id: kubeconfig
shell: bash
run: |
cat ~/.kube/config > kubeconfig
echo "kubeconfig=$(cat kubeconfig | base64 -w 0)" >> $GITHUB_OUTPUT
# run kurtosis test and assertoor
- name: Run kurtosis testnet
id: testnet
uses: ethpandaops/kurtosis-assertoor-github-action@f64942cbc780df731a731ea9f45765b161d2c8df # v1
with:
kurtosis_extra_args: "--image-download always --non-blocking-tasks --verbosity DETAILED"
kurtosis_backend: "kubernetes"
kubernetes_config: "${{ steps.kubeconfig.outputs.kubeconfig }}"
kubernetes_cluster: "minikube"
kubernetes_storage_class: "standard"
ethereum_package_branch: ""
ethereum_package_args: "${{ matrix.payload.file }}"
ethereum_package_url: "$GITHUB_WORKSPACE"
enclave_name: "ethereum-package-${{ matrix.payload.name }}-${{ github.run_id }}"
persistent_logs: "true"
- name: Check if Discord Webhook is Set
id: check_discord_webhook
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
run: |
if [ -z "$DISCORD_WEBHOOK" ]; then
echo "discord_webhook_set=false" >> $GITHUB_ENV
else
echo "discord_webhook_set=true" >> $GITHUB_ENV
fi
- name: Notify
if: (cancelled() || failure()) && env.discord_webhook_set == 'true'
uses: Ilshidur/action-discord@d2594079a10f1d6739ee50a2471f0ca57418b554 # dependabot/npm_and_yarn/axios-1.3.4-08d9328
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
args: "The k8s nightly/per PR test for ${{matrix.payload.name}} on ethereum-package has failed. Find it here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
================================================
FILE: .gitignore
================================================
# IntelliJ
.idea
*.iws
*.iml
*.ipr
# VS Code
*.vscode
# Jenv
.java-version
# Pyenv
.python-version
# Mac spotlight index files
.DS_Store
*.un~
Session.vim
.netrwhist
*~
*.pyc
*.pydevproject
.project
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*~.nib
local.properties
.classpath
.settings/
.loadpath
# Vim swapfiles
*.swp
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Archive files
*.tgz
*.zip
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
# Ignore Vim helptags
doc/tags
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Test binary, built with `go test -c`
*.test
# Output directories
build/
dist/
# Java
.gradle
# Node
node_modules
yarn-error.log
# Bazel
/bazel-*
# enclave dumps
dump/
# binary files
binary
binaries
# Claude file
CLAUDE.md
================================================
FILE: .release-please-manifest.json
================================================
{
".": "6.1.0"
}
================================================
FILE: .typos.toml
================================================
[default]
extend-ignore-re = [
# Ignore Ethereum Node Records (ENR)
"enr:-.*",
# Ignore blutgang config typo
"supress_rpc_check",
]
[files]
extend-exclude = [
"CHANGELOG.md",
]
================================================
FILE: CHANGELOG.md
================================================
# Changelog
## [6.1.0](https://github.com/ethpandaops/ethereum-package/compare/6.0.0...6.1.0) (2026-04-01)
### Features
* Add Besu and Teku grafana dashboards ([#1281](https://github.com/ethpandaops/ethereum-package/issues/1281)) ([7a3cc83](https://github.com/ethpandaops/ethereum-package/commit/7a3cc83c6a5de4a49eaa7b3e66d4ca936ad240f7))
* add buildoor as separate mev stack ([#1309](https://github.com/ethpandaops/ethereum-package/issues/1309)) ([903fd99](https://github.com/ethpandaops/ethereum-package/commit/903fd992c9a06a350a92a82bd392a3ebc5aa70ea))
* add Caplin (Erigon embedded CL) as a supported consensus launcher ([#1339](https://github.com/ethpandaops/ethereum-package/issues/1339)) ([173e3d5](https://github.com/ethpandaops/ethereum-package/commit/173e3d5c32ca031789d1853f2acead0736e7ad9d))
* add custom binary execution functionality ([#1287](https://github.com/ethpandaops/ethereum-package/issues/1287)) ([68f9c19](https://github.com/ethpandaops/ethereum-package/commit/68f9c19ddb7c65cdefba260aa4f33cf080978f87))
* add ews (execution witness sentry) ([#1285](https://github.com/ethpandaops/ethereum-package/issues/1285)) ([5593889](https://github.com/ethpandaops/ethereum-package/commit/559388991071d3cb8b665a131dc3b97d2e44b974))
* add force_restart - to be able to replace images/binaries without killing enclave ([#1289](https://github.com/ethpandaops/ethereum-package/issues/1289)) ([e243677](https://github.com/ethpandaops/ethereum-package/commit/e243677d68affc719ca596664119d860cab8e856))
* add heze ([#1323](https://github.com/ethpandaops/ethereum-package/issues/1323)) ([eb8c590](https://github.com/ethpandaops/ethereum-package/commit/eb8c590a3634188ecb29ae1319ee53bd356e16e7))
* add mev-builder-cl-extra-params ([#1284](https://github.com/ethpandaops/ethereum-package/issues/1284)) ([c7027e8](https://github.com/ethpandaops/ethereum-package/commit/c7027e863fb60c218d9d00d24e4061c5aabd1882))
* add min builder withdrawal delay ([#1294](https://github.com/ethpandaops/ethereum-package/issues/1294)) ([7f67acd](https://github.com/ethpandaops/ethereum-package/commit/7f67acda08e12705a64fe157c200f316ca4b01bf))
* Add skill for more efficient use of the package for running devnets ([#1326](https://github.com/ethpandaops/ethereum-package/issues/1326)) ([ff545a6](https://github.com/ethpandaops/ethereum-package/commit/ff545a6e19fbaca65d576647de0aa90822e3fa28))
* add slashoor ([#1308](https://github.com/ethpandaops/ethereum-package/issues/1308)) ([e4b3305](https://github.com/ethpandaops/ethereum-package/commit/e4b330579580477814cfaebb004e354f7eb396f4))
* add snooper_params ([#1327](https://github.com/ethpandaops/ethereum-package/issues/1327)) ([c2bc134](https://github.com/ethpandaops/ethereum-package/commit/c2bc134c2225c77296011cc9ebd7f1512564e5c0))
* added option for custom logging (Teku only) ([#1321](https://github.com/ethpandaops/ethereum-package/issues/1321)) ([582ebad](https://github.com/ethpandaops/ethereum-package/commit/582ebad9ec0f74efb1bcff2418414dd18c77833f))
* Adding rakoon as tool ([#1303](https://github.com/ethpandaops/ethereum-package/issues/1303)) ([0272744](https://github.com/ethpandaops/ethereum-package/commit/02727445663d0554374898dd9b310653a6e1e430))
* **checkpointz:** add automatic GLOAS fork image detection ([#1344](https://github.com/ethpandaops/ethereum-package/issues/1344)) ([44f21e7](https://github.com/ethpandaops/ethereum-package/commit/44f21e7d9fe61c7a8dfc5336ab06d7a72ed29ae8))
* **ci:** add consensoor ([#1301](https://github.com/ethpandaops/ethereum-package/issues/1301)) ([865e221](https://github.com/ethpandaops/ethereum-package/commit/865e221fe5ca4e397f5b522e868477aa197deff1))
* **constants:** add 'consensoor' to CL_TYPE and VC_TYPE constants ([865e221](https://github.com/ethpandaops/ethereum-package/commit/865e221fe5ca4e397f5b522e868477aa197deff1))
* enable dora execution indexer ([#1282](https://github.com/ethpandaops/ethereum-package/issues/1282)) ([5c8fd38](https://github.com/ethpandaops/ethereum-package/commit/5c8fd3867d8536047c972561f28a79ccbd73e12e))
* enable execution details indexing & tracing for dora ([#1317](https://github.com/ethpandaops/ethereum-package/issues/1317)) ([2f2690b](https://github.com/ethpandaops/ethereum-package/commit/2f2690ba6926497a75ecc57b081b57d97dcebb5c))
* **launcher:** add publish_udp to participant configurations ([#1300](https://github.com/ethpandaops/ethereum-package/issues/1300)) ([a412048](https://github.com/ethpandaops/ethereum-package/commit/a4120483625f12acc7c090013657c9d9603fbde6))
* **launcher:** integrate consensoor client launcher ([865e221](https://github.com/ethpandaops/ethereum-package/commit/865e221fe5ca4e397f5b522e868477aa197deff1))
* replace ews with zkboost ([#1338](https://github.com/ethpandaops/ethereum-package/issues/1338)) ([964a9f4](https://github.com/ethpandaops/ethereum-package/commit/964a9f4851fa4af8892b4266b889026ca17293f5))
* **starlark:** add Consensoor launcher support for Starlark ([865e221](https://github.com/ethpandaops/ethereum-package/commit/865e221fe5ca4e397f5b522e868477aa197deff1))
* support spinning up multiple relays ([#1272](https://github.com/ethpandaops/ethereum-package/issues/1272)) ([c26e7e2](https://github.com/ethpandaops/ethereum-package/commit/c26e7e2e9f1b93ec0755012c4a2007ee7082531d))
* update assertoor config ([#1312](https://github.com/ethpandaops/ethereum-package/issues/1312)) ([8afc10c](https://github.com/ethpandaops/ethereum-package/commit/8afc10c8c16b168c46592c855e3ee4d0a4cd2d07))
* use gloas-support image image for assertoor when gloas is scheduled ([#1318](https://github.com/ethpandaops/ethereum-package/issues/1318)) ([f18408b](https://github.com/ethpandaops/ethereum-package/commit/f18408b0195c03dc1c930ad2ca200050c4b14080))
* **vc:** allow 'consensoor' VC type in vc_launcher ([865e221](https://github.com/ethpandaops/ethereum-package/commit/865e221fe5ca4e397f5b522e868477aa197deff1))
### Bug Fixes
* **besu:** remove CLIQUE from RPC API lists ([#1341](https://github.com/ethpandaops/ethereum-package/issues/1341)) ([6307765](https://github.com/ethpandaops/ethereum-package/commit/6307765a78a0c7f44cb9106c2451712dff051770))
* binary rename from nimbus_exe.. to nimbus ([#1325](https://github.com/ethpandaops/ethereum-package/issues/1325)) ([343ae7f](https://github.com/ethpandaops/ethereum-package/commit/343ae7f946408cde2950241bb3239d4810acc306))
* bump ethereum-genesis-generator to 5.3.1 ([#1330](https://github.com/ethpandaops/ethereum-package/issues/1330)) ([429e3cb](https://github.com/ethpandaops/ethereum-package/commit/429e3cb9316e0811165f8b963d0245e0cfbcc0d7))
* bump ethereum-genesis-generator to 5.3.5 ([#1332](https://github.com/ethpandaops/ethereum-package/issues/1332)) ([56535d9](https://github.com/ethpandaops/ethereum-package/commit/56535d9ed5c88149b7ac82039daa4b8cde9ae48d))
* bump GitHub Actions to latest releases ([#1342](https://github.com/ethpandaops/ethereum-package/issues/1342)) ([0dedf87](https://github.com/ethpandaops/ethereum-package/commit/0dedf877ec283014c62aecab5b28295b16aaf3e9))
* bump kurtosis-assertoor-github-action to fix Node.js 20 deprecation warnings ([#1336](https://github.com/ethpandaops/ethereum-package/issues/1336)) ([b31af5e](https://github.com/ethpandaops/ethereum-package/commit/b31af5e2f8656c05b4b923b07d4065b00c43c184))
* claude skill install command does exist ([#1331](https://github.com/ethpandaops/ethereum-package/issues/1331)) ([a0f3436](https://github.com/ethpandaops/ethereum-package/commit/a0f3436b0c308e12ff53583a596aa0b6e03a2b01))
* dora eip7732-support to gloas-support ([#1298](https://github.com/ethpandaops/ethereum-package/issues/1298)) ([c6ca605](https://github.com/ethpandaops/ethereum-package/commit/c6ca605fc7af611d88864355285f8ef4ebfd42a1))
* enable private discovery for Grandine for both built-in and external vc ([#1315](https://github.com/ethpandaops/ethereum-package/issues/1315)) ([7282336](https://github.com/ethpandaops/ethereum-package/commit/72823365ae5078e2d38de0f36865b7c3f1ac006a))
* enforce spammer names to avoid deduplication on spammor side ([#1296](https://github.com/ethpandaops/ethereum-package/issues/1296)) ([2faba19](https://github.com/ethpandaops/ethereum-package/commit/2faba1900ccdb1deeff9dccb888a0b072bf85fd5))
* fail if dummy first error handling ([#1290](https://github.com/ethpandaops/ethereum-package/issues/1290)) ([8803a15](https://github.com/ethpandaops/ethereum-package/commit/8803a1598745e5195c66737c8670b52ef93adaf9))
* grafana dashboard data source ([#1291](https://github.com/ethpandaops/ethereum-package/issues/1291)) ([6b605f1](https://github.com/ethpandaops/ethereum-package/commit/6b605f15c6389cbd53f280fb4ffac03559eee181))
* **input_parser:** expand VC matrix as cartesian product in participants_matrix ([#1347](https://github.com/ethpandaops/ethereum-package/issues/1347)) ([4cb71e5](https://github.com/ethpandaops/ethereum-package/commit/4cb71e5c53fa8faa7b7dea9732d5c14521f5937b))
* mev api ci startup bug ([#1297](https://github.com/ethpandaops/ethereum-package/issues/1297)) ([103b078](https://github.com/ethpandaops/ethereum-package/commit/103b078f107ade53c3d61c12b9e040a1d04ed07a))
* treat besu/teku as special butterflies ([#1322](https://github.com/ethpandaops/ethereum-package/issues/1322)) ([87df9d9](https://github.com/ethpandaops/ethereum-package/commit/87df9d9d15e493ea91db788161e54324c39f6a6e))
* update assertoor ai models ([#1313](https://github.com/ethpandaops/ethereum-package/issues/1313)) ([234fb54](https://github.com/ethpandaops/ethereum-package/commit/234fb54662a42734b77720bc95e9ef45ba4115f9))
* update docker/login-action to v4.0.0 for Node.js 24 ([#1333](https://github.com/ethpandaops/ethereum-package/issues/1333)) ([4918751](https://github.com/ethpandaops/ethereum-package/commit/49187518a755123a1a6a866d2fbc97df122fad6f))
* update kurtosis apt source to sdk.kurtosis.com ([#1334](https://github.com/ethpandaops/ethereum-package/issues/1334)) ([b031d21](https://github.com/ethpandaops/ethereum-package/commit/b031d21763c199571167026504191f6539935604))
## [6.0.0](https://github.com/ethpandaops/ethereum-package/compare/5.0.1...6.0.0) (2026-01-05)
### ⚠ BREAKING CHANGES
* geth genesis flag, osaka time passthrough for public networks ([#1229](https://github.com/ethpandaops/ethereum-package/issues/1229))
* remove mev_flood ([#1091](https://github.com/ethpandaops/ethereum-package/issues/1091))
### Features
* Add 'trace' to enabled JSON-RPC modules ([#1235](https://github.com/ethpandaops/ethereum-package/issues/1235)) ([ea241af](https://github.com/ethpandaops/ethereum-package/commit/ea241af2bdd5b125fb6c909af1b2498bfcdaf327))
* add `depends_on` to store service files for parallel ([#1208](https://github.com/ethpandaops/ethereum-package/issues/1208)) ([98206c8](https://github.com/ethpandaops/ethereum-package/commit/98206c89e06f616e94fea85f7c84fb062de7277a))
* add `env` parameter to Blockscout configuration for custom environment variables ([#1262](https://github.com/ethpandaops/ethereum-package/issues/1262)) ([627619c](https://github.com/ethpandaops/ethereum-package/commit/627619c192bf55c340681d18388b0cb84706aa80))
* add api to dora ([#1120](https://github.com/ethpandaops/ethereum-package/issues/1120)) ([9dbde5a](https://github.com/ethpandaops/ethereum-package/commit/9dbde5a5199360093c44866880ef5596e1fddb5a))
* add bpo ([#1016](https://github.com/ethpandaops/ethereum-package/issues/1016)) ([37082b2](https://github.com/ethpandaops/ethereum-package/commit/37082b2253e3df3526cd96f48858d43bfadb9ebf))
* add chainspec support for fusaka-devnet-2 ([#1055](https://github.com/ethpandaops/ethereum-package/issues/1055)) ([0e18733](https://github.com/ethpandaops/ethereum-package/commit/0e18733e0db851310ceb287bd72a96ec7336e4ab))
* add checkpointz ([#1254](https://github.com/ethpandaops/ethereum-package/issues/1254)) ([c9d72f9](https://github.com/ethpandaops/ethereum-package/commit/c9d72f9c4ce4b9466b39c44862be6a7bb8ebc51a))
* Add cl_devices parameter for mounting host devices to CL containers ([#1251](https://github.com/ethpandaops/ethereum-package/issues/1251)) ([ab9e55f](https://github.com/ethpandaops/ethereum-package/commit/ab9e55fc24441dac4c9ef41ce36fb4628afdebab))
* add client-language label to ethereum service containers ([#1074](https://github.com/ethpandaops/ethereum-package/issues/1074)) ([6955763](https://github.com/ethpandaops/ethereum-package/commit/6955763975046e2291217cf45eab8d5bde2f00d9))
* add custody group and getBlobsV2 metrics on PeerDAS dashboard ([#982](https://github.com/ethpandaops/ethereum-package/issues/982)) ([e43e569](https://github.com/ethpandaops/ethereum-package/commit/e43e569c47b6f8ee06a73add24bb59518aa74396))
* add debug port for ethjs ([#1044](https://github.com/ethpandaops/ethereum-package/issues/1044)) ([459a931](https://github.com/ethpandaops/ethereum-package/commit/459a9312d6f503c3107c5b6cf25822b1e72aafae))
* add disk usage as a metric for ethereum-metrics-exporter ([#1026](https://github.com/ethpandaops/ethereum-package/issues/1026)) ([8e793a5](https://github.com/ethpandaops/ethereum-package/commit/8e793a52da52eb13336c74184deff569ce5a47a8))
* add el genesis files to dora config for extended blob gas display ([#1180](https://github.com/ethpandaops/ethereum-package/issues/1180)) ([2fd2b41](https://github.com/ethpandaops/ethereum-package/commit/2fd2b4177a6e03c535c8b51b346cfac495828429))
* add engine snooper urls to dora config for block execution time tracking ([#1083](https://github.com/ethpandaops/ethereum-package/issues/1083)) ([7ffb9d5](https://github.com/ethpandaops/ethereum-package/commit/7ffb9d5af373f28db31fc257ff67ae0c68012dd9))
* Add eRPC integration ([#1223](https://github.com/ethpandaops/ethereum-package/issues/1223)) ([16b72b7](https://github.com/ethpandaops/ethereum-package/commit/16b72b79d3392a851f0a18aaf18fe4b4fce20c03))
* add ethrex execution client ([#1131](https://github.com/ethpandaops/ethereum-package/issues/1131)) ([82e5a71](https://github.com/ethpandaops/ethereum-package/commit/82e5a7178138d892c0c31c3839c89d53ffd42d9a))
* add extra labels ([#1030](https://github.com/ethpandaops/ethereum-package/issues/1030)) ([12447f8](https://github.com/ethpandaops/ethereum-package/commit/12447f8ece26d48c4f5b324d288d19cf518c1a36))
* add genesis_time as a possible network_param config value ([#1216](https://github.com/ethpandaops/ethereum-package/issues/1216)) ([b11ce6f](https://github.com/ethpandaops/ethereum-package/commit/b11ce6f5739a849496440ff64967dcfb72fbd035))
* Add Geth dashboard to the grafana module ([#1166](https://github.com/ethpandaops/ethereum-package/issues/1166)) ([47c90f6](https://github.com/ethpandaops/ethereum-package/commit/47c90f6defb3777e0667984a1eec63f45c8496d2))
* Add Kurtosis config for BALs devnet 0 ([#1197](https://github.com/ethpandaops/ethereum-package/issues/1197)) ([9a93b33](https://github.com/ethpandaops/ethereum-package/commit/9a93b33071be666b583a77c849b13a2ea2dcd6c8))
* add log level to ethrex ([#1269](https://github.com/ethpandaops/ethereum-package/issues/1269)) ([57af564](https://github.com/ethpandaops/ethereum-package/commit/57af564deb618745b752f76396c8371fd936f78f))
* add maxblobspertx ([#1063](https://github.com/ethpandaops/ethereum-package/issues/1063)) ([1944080](https://github.com/ethpandaops/ethereum-package/commit/19440801b1837d266ad4d847f399a577f9c57550))
* add mempool-bridge service integration ([#1222](https://github.com/ethpandaops/ethereum-package/issues/1222)) ([92d2239](https://github.com/ethpandaops/ethereum-package/commit/92d2239c5c8d87d182273cf17122bdb32a14e2f0))
* add mev-fulu test ([#1014](https://github.com/ethpandaops/ethereum-package/issues/1014)) ([67a76e9](https://github.com/ethpandaops/ethereum-package/commit/67a76e9ce49d64092afd13cde54db943928c71ab))
* add MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS as config option ([#1057](https://github.com/ethpandaops/ethereum-package/issues/1057)) ([97afe9c](https://github.com/ethpandaops/ethereum-package/commit/97afe9cf764447780db6a52acc666f370f8258ba))
* add more groups to spamoor clients ([#1066](https://github.com/ethpandaops/ethereum-package/issues/1066)) ([c9ed485](https://github.com/ethpandaops/ethereum-package/commit/c9ed4855cde389c3917b4905438c1a073afc9e72))
* add multiple bn nodes per vc ([#1189](https://github.com/ethpandaops/ethereum-package/issues/1189)) ([7727330](https://github.com/ethpandaops/ethereum-package/commit/7727330b96a6f9fc7a119b1bba72f2ca208b5d60))
* add name and nameoverride func to clients page spamoor ([#1068](https://github.com/ethpandaops/ethereum-package/issues/1068)) ([e3abf47](https://github.com/ethpandaops/ethereum-package/commit/e3abf47d30c90a07c571af1b006a8d0902b8449f))
* add new timing parameters ([#1168](https://github.com/ethpandaops/ethereum-package/issues/1168)) ([1d524c8](https://github.com/ethpandaops/ethereum-package/commit/1d524c82182ce053a1aed06129017442de1de97a))
* add nginx file server implementation ([#1065](https://github.com/ethpandaops/ethereum-package/issues/1065)) ([fd76bba](https://github.com/ethpandaops/ethereum-package/commit/fd76bba46326469872afb02c883a81c2fbfb9b0b))
* add node index label ([#1086](https://github.com/ethpandaops/ethereum-package/issues/1086)) ([5aa0d44](https://github.com/ethpandaops/ethereum-package/commit/5aa0d442501c2193d8c54e5a1a0a374679a9d5d3))
* add node selectors and tolerations to run_sh ([#1167](https://github.com/ethpandaops/ethereum-package/issues/1167)) ([c4e0c89](https://github.com/ethpandaops/ethereum-package/commit/c4e0c8945ede598729f496a58a9be59f71f558d5))
* add OTLP collector URL to Lighthouse validator client ([#1252](https://github.com/ethpandaops/ethereum-package/issues/1252)) ([f507360](https://github.com/ethpandaops/ethereum-package/commit/f5073608b8ea23d99bd1f36c911e42632dd0b629))
* add peercount support for nimbusel ([#1092](https://github.com/ethpandaops/ethereum-package/issues/1092)) ([12409e4](https://github.com/ethpandaops/ethereum-package/commit/12409e4912124f4a188994f623da49c623b7555c))
* add per participant checkpoint sync enabled flag ([#1243](https://github.com/ethpandaops/ethereum-package/issues/1243)) ([2101448](https://github.com/ethpandaops/ethereum-package/commit/2101448191a8937cf77e3f5806e14e598c2e1995))
* add public ports for mev ([#1023](https://github.com/ethpandaops/ethereum-package/issues/1023)) ([5d89274](https://github.com/ethpandaops/ethereum-package/commit/5d89274b8c0189add903dd814261eccdc1ef869f))
* add public ports for other tools ([#1025](https://github.com/ethpandaops/ethereum-package/issues/1025)) ([fa9d05e](https://github.com/ethpandaops/ethereum-package/commit/fa9d05ef4bbc55ec307f1e50e46f365c5d293b3d))
* add sanity check for lack of supernodes ([#1145](https://github.com/ethpandaops/ethereum-package/issues/1145)) ([70dd011](https://github.com/ethpandaops/ethereum-package/commit/70dd01125ef97484447c13af1c43ea9cec0c2d8c))
* add sanity check for perfect peerdas ([#1217](https://github.com/ethpandaops/ethereum-package/issues/1217)) ([6c51752](https://github.com/ethpandaops/ethereum-package/commit/6c517523ac22ffe258f21cbc00be796e4a7efe74))
* add skip_start ([#1253](https://github.com/ethpandaops/ethereum-package/issues/1253)) ([338bb88](https://github.com/ethpandaops/ethereum-package/commit/338bb88719985557bbbf229fb98f3513183201b6))
* Add support for dummy EL in kurtosis config ([#1276](https://github.com/ethpandaops/ethereum-package/issues/1276)) ([b8007fd](https://github.com/ethpandaops/ethereum-package/commit/b8007fd3eddcb35aba48c324ffe12ae95d18dcf6))
* add support for extra mounts for CL, EL, and VC clients ([#1136](https://github.com/ethpandaops/ethereum-package/issues/1136)) ([d385265](https://github.com/ethpandaops/ethereum-package/commit/d385265162c02d08df131d833b2729ef874afb67))
* add support for MIN_EPOCHS_FOR_BLOCK_REQUESTS ([#1211](https://github.com/ethpandaops/ethereum-package/issues/1211)) ([17ad84a](https://github.com/ethpandaops/ethereum-package/commit/17ad84a110801c2a0fd82eb550a45c180fc6d44d))
* add support for separate bootnode with bootnodoor ([#1238](https://github.com/ethpandaops/ethereum-package/issues/1238)) ([f8f4de6](https://github.com/ethpandaops/ethereum-package/commit/f8f4de6590ec18df5a9d7287ab51245c38b6be17))
* Add support for the helix relay ([#1237](https://github.com/ethpandaops/ethereum-package/issues/1237)) ([e17cb60](https://github.com/ethpandaops/ethereum-package/commit/e17cb60cc1e8e0962f48804d55108e433f702605))
* add telemetry service name flag to Lighthouse ([#1160](https://github.com/ethpandaops/ethereum-package/issues/1160)) ([2f61b9c](https://github.com/ethpandaops/ethereum-package/commit/2f61b9c65a49dca7428c02831c3bb034d8e11b79))
* add Tempo as an additional service to collect Lighthouse tracing data ([#1150](https://github.com/ethpandaops/ethereum-package/issues/1150)) ([ba328bb](https://github.com/ethpandaops/ethereum-package/commit/ba328bb51fa63fcabf0dc7cc14ffe43d4f9a64a8))
* add tolerations ([#1137](https://github.com/ethpandaops/ethereum-package/issues/1137)) ([a4b52da](https://github.com/ethpandaops/ethereum-package/commit/a4b52da3efdd58fbb27a66616ee2ee44fdd2455c))
* add tx snooper ([#1043](https://github.com/ethpandaops/ethereum-package/issues/1043)) ([34e1151](https://github.com/ethpandaops/ethereum-package/commit/34e11513881aebba04e50e57515b3cad42a5f168))
* add validator balance ([#1032](https://github.com/ethpandaops/ethereum-package/issues/1032)) ([3601346](https://github.com/ethpandaops/ethereum-package/commit/36013462cd74c1fd68de519d9dc0576f6920da97))
* add validator ranges for devnets ([#1176](https://github.com/ethpandaops/ethereum-package/issues/1176)) ([3fb5084](https://github.com/ethpandaops/ethereum-package/commit/3fb508465a65281044bd5d02952884bd11f6f207))
* add validator summary dora ([#1177](https://github.com/ethpandaops/ethereum-package/issues/1177)) ([f289914](https://github.com/ethpandaops/ethereum-package/commit/f28991489c922aace369a21f450a67bdc358b775))
* **ai:** Add docs ([#1061](https://github.com/ethpandaops/ethereum-package/issues/1061)) ([1bf0893](https://github.com/ethpandaops/ethereum-package/commit/1bf08937f7ec376d5e281fef87dc1efc28aeefef))
* allow passing custom env vars to the genesis generator ([#1227](https://github.com/ethpandaops/ethereum-package/issues/1227)) ([a43368e](https://github.com/ethpandaops/ethereum-package/commit/a43368eb3085a20f5950de0c7d11dc4bece37348))
* allow specifying additional mnemonics ([#1267](https://github.com/ethpandaops/ethereum-package/issues/1267)) ([dad4ea3](https://github.com/ethpandaops/ethereum-package/commit/dad4ea34e70f0e1a7b67c9569526c561bbcc3653))
* automatically generate a 2/3 ratio for target/max blobs ([#1156](https://github.com/ethpandaops/ethereum-package/issues/1156)) ([2d1aa15](https://github.com/ethpandaops/ethereum-package/commit/2d1aa15be3f76e376baaf4e5cacfe3a3e96b96ef))
* bump egg (fulu genesis support) ([#1140](https://github.com/ethpandaops/ethereum-package/issues/1140)) ([601df3b](https://github.com/ethpandaops/ethereum-package/commit/601df3b1d51d6dd9b9b12f242f4f453bf5430ed8))
* configure Blockscout to index from shadowfork block height ([#1221](https://github.com/ethpandaops/ethereum-package/issues/1221)) ([a1347fe](https://github.com/ethpandaops/ethereum-package/commit/a1347fecad5e67bd6d31eec140bcf2b6792de217))
* default to ethpandaops/client:devnet images ([#1097](https://github.com/ethpandaops/ethereum-package/issues/1097)) ([fa4f99a](https://github.com/ethpandaops/ethereum-package/commit/fa4f99a70a6789254ee5127d8f9bbcd9ec4f3e9f))
* enable `custom_preset` in checkpointz config ([#1259](https://github.com/ethpandaops/ethereum-package/issues/1259)) ([8e9913b](https://github.com/ethpandaops/ethereum-package/commit/8e9913bdbda58209011533bf31fc3029b4f0e6cf))
* enable extra env vars to be set during runtime mev, enable pprof by default ([#1012](https://github.com/ethpandaops/ethereum-package/issues/1012)) ([94a7f22](https://github.com/ethpandaops/ethereum-package/commit/94a7f22c93f79a66d244fa6d9f179213afe6147e))
* enable mass das guardian scans in dora ([#1125](https://github.com/ethpandaops/ethereum-package/issues/1125)) ([0671925](https://github.com/ethpandaops/ethereum-package/commit/06719250033abf51b4caabf36211e29906c6358b))
* enable prom and grafana to be ran separatly ([#1028](https://github.com/ethpandaops/ethereum-package/issues/1028)) ([500c3f0](https://github.com/ethpandaops/ethereum-package/commit/500c3f06a53db0648406c78de7370c8f15b769f2))
* enable rpc proxy in dora ([#1212](https://github.com/ethpandaops/ethereum-package/issues/1212)) ([4de44ce](https://github.com/ethpandaops/ethereum-package/commit/4de44ceb5c3f0a57d98759beb393637773fe755e))
* enable tty for prysm ([#1076](https://github.com/ethpandaops/ethereum-package/issues/1076)) ([1ae1826](https://github.com/ethpandaops/ethereum-package/commit/1ae18265fa2c0421ff950e0aae6873aac2e4654b))
* enable validator block on sentry ([#1224](https://github.com/ethpandaops/ethereum-package/issues/1224)) ([0f61746](https://github.com/ethpandaops/ethereum-package/commit/0f61746d8ab4e304c6d603923dd021b134945210))
* Extra Files for `*_extra_mounts` support ([#1144](https://github.com/ethpandaops/ethereum-package/issues/1144)) ([1b889f6](https://github.com/ethpandaops/ethereum-package/commit/1b889f6da26914699b8a71aea06a26eefa5b29ad))
* feature flag for DisableFinalizedRootCheck ([#1228](https://github.com/ethpandaops/ethereum-package/issues/1228)) ([c51f183](https://github.com/ethpandaops/ethereum-package/commit/c51f183b336b2b6a2af89526a5102f9625821b1b))
* fine grained control with public ip addresses per service ([#1111](https://github.com/ethpandaops/ethereum-package/issues/1111)) ([3f60fa8](https://github.com/ethpandaops/ethereum-package/commit/3f60fa8540538dd94335aed6656d0034bf7c1255))
* make default node a supernode ([#1230](https://github.com/ethpandaops/ethereum-package/issues/1230)) ([802c045](https://github.com/ethpandaops/ethereum-package/commit/802c0454bb21d31991b0736ea603ef6b7f071f7a))
* remove maxBlobsPerTx ([#1113](https://github.com/ethpandaops/ethereum-package/issues/1113)) ([9f40d0a](https://github.com/ethpandaops/ethereum-package/commit/9f40d0ac052759dcdc6515e7d6969c780f4f1b9b))
* remove mev_flood ([#1091](https://github.com/ethpandaops/ethereum-package/issues/1091)) ([2d3b170](https://github.com/ethpandaops/ethereum-package/commit/2d3b17048a37daa8f5742b978828eef6aa83b55c))
* rename eip7732 to gloas ([#1157](https://github.com/ethpandaops/ethereum-package/issues/1157)) ([f0c5522](https://github.com/ethpandaops/ethereum-package/commit/f0c552299d076609d3edacc4643c7f0abe8767d0))
* set fulu fork epoch at genesis ([#1261](https://github.com/ethpandaops/ethereum-package/issues/1261)) ([6ae2474](https://github.com/ethpandaops/ethereum-package/commit/6ae24741119d429704d41251f47a7d0e0893bc39))
* sps setting Qu0b/nethermind sps ([#1225](https://github.com/ethpandaops/ethereum-package/issues/1225)) ([969a707](https://github.com/ethpandaops/ethereum-package/commit/969a7076d1694f8cf2010459cf19babf679466b2))
* Support el_storage_type flag ([#1257](https://github.com/ethpandaops/ethereum-package/issues/1257)) ([2eb1e85](https://github.com/ethpandaops/ethereum-package/commit/2eb1e858e2e2bd7439ca205dfb56ab8157201d8e))
* use dns names instead of ip addresses for services ([#1194](https://github.com/ethpandaops/ethereum-package/issues/1194)) ([f360a51](https://github.com/ethpandaops/ethereum-package/commit/f360a513b8298c1f89b89537848c28de5ba30713))
### Bug Fixes
* add fulu fork version for mev-boost-relay ([#1088](https://github.com/ethpandaops/ethereum-package/issues/1088)) ([953ec57](https://github.com/ethpandaops/ethereum-package/commit/953ec57c2446ba52f52c19d5d73f00529721aa61))
* add input option for blobber ([#1072](https://github.com/ethpandaops/ethereum-package/issues/1072)) ([293286d](https://github.com/ethpandaops/ethereum-package/commit/293286dfe970868b2d18265e28ffe708b19907ff))
* assertoor image for fulu support ([#1240](https://github.com/ethpandaops/ethereum-package/issues/1240)) ([b0f4fab](https://github.com/ethpandaops/ethereum-package/commit/b0f4fabf9d2958d7b67e56a2e0dc91ef26c2dd9a))
* besu sync snap if non kurtosis ([#1034](https://github.com/ethpandaops/ethereum-package/issues/1034)) ([6752218](https://github.com/ethpandaops/ethereum-package/commit/6752218a02be6ef293b6adfc432535b53ac03748))
* **blockscout:** make frontend available in kubernetes ([#1033](https://github.com/ethpandaops/ethereum-package/issues/1033)) ([d3ae571](https://github.com/ethpandaops/ethereum-package/commit/d3ae57110f8761bd26e47e2616ea6d52f8bff21c))
* bump egg,fix minimal preset ([#1165](https://github.com/ethpandaops/ethereum-package/issues/1165)) ([0f877c6](https://github.com/ethpandaops/ethereum-package/commit/0f877c6e2b7098705478931b83c1535064b61ad1))
* bump ethereum-genesis-generator to fix issues with large additional contracts ([#1019](https://github.com/ethpandaops/ethereum-package/issues/1019)) ([cb644af](https://github.com/ethpandaops/ethereum-package/commit/cb644aff035c6883575959ee50a64eef83615486))
* change default images ([#1099](https://github.com/ethpandaops/ethereum-package/issues/1099)) ([ba92830](https://github.com/ethpandaops/ethereum-package/commit/ba9283094612b1605599a03361cbb74305db17d0))
* change lh supernode flag ([#1186](https://github.com/ethpandaops/ethereum-package/issues/1186)) ([f64ff38](https://github.com/ethpandaops/ethereum-package/commit/f64ff386db4a31799a83f6c08ec7bc3a69ebd13a))
* change nimbus supernode flag ([#1275](https://github.com/ethpandaops/ethereum-package/issues/1275)) ([094b3f3](https://github.com/ethpandaops/ethereum-package/commit/094b3f3da003ae91cd83c0517deccec4c0f73425))
* cl node discovery on k8s ([#1162](https://github.com/ethpandaops/ethereum-package/issues/1162)) ([5643dfd](https://github.com/ethpandaops/ethereum-package/commit/5643dfd26f04f7b77c7556d2e3d67a84c2ea9822))
* cleanup besu ([#1139](https://github.com/ethpandaops/ethereum-package/issues/1139)) ([5001427](https://github.com/ethpandaops/ethereum-package/commit/5001427aa3acf8411f6286a6772ab591996f8df3))
* commit boost cb-config ([#1233](https://github.com/ethpandaops/ethereum-package/issues/1233)) ([87f3e03](https://github.com/ethpandaops/ethereum-package/commit/87f3e03ae478acb8e3a61a0f1e0af8c430c5569f))
* commit boost integration ([#1204](https://github.com/ethpandaops/ethereum-package/issues/1204)) ([69e60b3](https://github.com/ethpandaops/ethereum-package/commit/69e60b3b86c470d449ed0045af508e514b1c9c41))
* default to empty blob schedule if non defined ([#1115](https://github.com/ethpandaops/ethereum-package/issues/1115)) ([35c298d](https://github.com/ethpandaops/ethereum-package/commit/35c298d2d912ad6dadc1c6dd97c71f724829e16c))
* default to pandaops ethrex image for arm/amd ([#1249](https://github.com/ethpandaops/ethereum-package/issues/1249)) ([b03a571](https://github.com/ethpandaops/ethereum-package/commit/b03a571162f6132c147810ab829fc2a35aa9504b))
* disable page cache in dora ([#1079](https://github.com/ethpandaops/ethereum-package/issues/1079)) ([1e51446](https://github.com/ethpandaops/ethereum-package/commit/1e514461501c3c54594231c553305b2e3e2fd424))
* dora,assertoor pull through cache ([#1059](https://github.com/ethpandaops/ethereum-package/issues/1059)) ([69c965f](https://github.com/ethpandaops/ethereum-package/commit/69c965fb434622805a56267604562afdd9c869cb))
* downgrade teku from latest to master ([#1155](https://github.com/ethpandaops/ethereum-package/issues/1155)) ([996c2a1](https://github.com/ethpandaops/ethereum-package/commit/996c2a1b2483d9a4151023d465c0d5735524e08b))
* el/cl/vc index calculation bug, due to parallel execution ([#1121](https://github.com/ethpandaops/ethereum-package/issues/1121)) ([fc4e65e](https://github.com/ethpandaops/ethereum-package/commit/fc4e65e15c3b1b859e0f5eda31489d95e05abb7a))
* enable submission pages in dora ([#1031](https://github.com/ethpandaops/ethereum-package/issues/1031)) ([33e3f7b](https://github.com/ethpandaops/ethereum-package/commit/33e3f7b1d1b818ae993885ceaee530bdbf9a8a30))
* ensure proper bpo scheduling ([#1266](https://github.com/ethpandaops/ethereum-package/issues/1266)) ([57120bf](https://github.com/ethpandaops/ethereum-package/commit/57120bf668913b0f6cd62df929b8a265e8a2ae08))
* erigon db size alloc ([#1096](https://github.com/ethpandaops/ethereum-package/issues/1096)) ([777d37e](https://github.com/ethpandaops/ethereum-package/commit/777d37ed213916137e46b8886ed2e94d9140239b))
* failed to start network: ethereum-package execution error: Evaluation error: key osaka_time not in dict ([#1218](https://github.com/ethpandaops/ethereum-package/issues/1218)) ([ae74385](https://github.com/ethpandaops/ethereum-package/commit/ae74385e68086c1984fcd4a4eba995d0cb09afa7))
* fix checkpointz params override ([#1258](https://github.com/ethpandaops/ethereum-package/issues/1258)) ([9518b72](https://github.com/ethpandaops/ethereum-package/commit/9518b723cb1b349c81cb7003f6f18b49a88a28de))
* geth genesis flag, osaka time passthrough for public networks ([#1229](https://github.com/ethpandaops/ethereum-package/issues/1229)) ([d58cab7](https://github.com/ethpandaops/ethereum-package/commit/d58cab71d0e4ea0f75752232a2a78b024e2bf8a4))
* geth peering bug ([#1133](https://github.com/ethpandaops/ethereum-package/issues/1133)) ([bc62c0c](https://github.com/ethpandaops/ethereum-package/commit/bc62c0c30229b66fa67b73e32398cbb257d81e63))
* gloas minimal config values ([#1250](https://github.com/ethpandaops/ethereum-package/issues/1250)) ([2ec3a94](https://github.com/ethpandaops/ethereum-package/commit/2ec3a94a15c1e80eee70516e413fc53a1b0c6e44))
* helix logging type ([#1279](https://github.com/ethpandaops/ethereum-package/issues/1279)) ([756bfdd](https://github.com/ethpandaops/ethereum-package/commit/756bfdd19cd44d3a373d9e81c914992e66f6e2b0))
* **lighthouse:** allow genesis sync when checkpoint sync isn't enabled ([#1192](https://github.com/ethpandaops/ethereum-package/issues/1192)) ([4053331](https://github.com/ethpandaops/ethereum-package/commit/4053331ffff1977b9b3d7d4b48e4f504d6bfea51))
* make sure builder cl is supernode ([#1188](https://github.com/ethpandaops/ethereum-package/issues/1188)) ([dfef921](https://github.com/ethpandaops/ethereum-package/commit/dfef9215f1cfae27a9d39604726cfd0388440584))
* mev rbuilder remove unused config param ([#1248](https://github.com/ethpandaops/ethereum-package/issues/1248)) ([3838a5f](https://github.com/ethpandaops/ethereum-package/commit/3838a5fa80958d1bc66af844b6bebc79ae3739f9))
* minimal builds should use latest unstable branches ([#1174](https://github.com/ethpandaops/ethereum-package/issues/1174)) ([d6d6d5f](https://github.com/ethpandaops/ethereum-package/commit/d6d6d5f168b443be6ce6b4434275774cd6bb5ed9))
* minimal spec ([#1037](https://github.com/ethpandaops/ethereum-package/issues/1037)) ([2372550](https://github.com/ethpandaops/ethereum-package/commit/23725502f0ee74106d84f7d9eb5d9d210ca983c5))
* missing dns_name ([#1274](https://github.com/ethpandaops/ethereum-package/issues/1274)) ([3238be5](https://github.com/ethpandaops/ethereum-package/commit/3238be51bd23edccdae35f38ec94c22ea3fd3ee9))
* move bootnodoor to additional_services ([#1264](https://github.com/ethpandaops/ethereum-package/issues/1264)) ([bf40917](https://github.com/ethpandaops/ethereum-package/commit/bf409170c2a7632bb9e80128a0c933b479bb455d))
* nethermind chainspec, default genesis gas to 60M ([#1039](https://github.com/ethpandaops/ethereum-package/issues/1039)) ([b839e61](https://github.com/ethpandaops/ethereum-package/commit/b839e6148c04a11bc7b33559fd0f891a4ec324ef))
* network params default images ([#1213](https://github.com/ethpandaops/ethereum-package/issues/1213)) ([33a0db2](https://github.com/ethpandaops/ethereum-package/commit/33a0db2f85303add140bbc997bd8ca5d25a46081))
* nimbus checkpoint syncing ([#1181](https://github.com/ethpandaops/ethereum-package/issues/1181)) ([d464295](https://github.com/ethpandaops/ethereum-package/commit/d4642957cf3ceac6df8381ea9eff12ed3a0e17a3))
* only add --target-peers=0 only when the network is kurtosis ([#1119](https://github.com/ethpandaops/ethereum-package/issues/1119)) ([572cbfc](https://github.com/ethpandaops/ethereum-package/commit/572cbfcf48a6a2ccff7c25e3c9ff8c39488fe6c9))
* only append blob schedule, if defined ([#1022](https://github.com/ethpandaops/ethereum-package/issues/1022)) ([43db03a](https://github.com/ethpandaops/ethereum-package/commit/43db03ac65e20398288d5c639a261153de0aa942))
* override bpo1,2 ([#1196](https://github.com/ethpandaops/ethereum-package/issues/1196)) ([836cbb8](https://github.com/ethpandaops/ethereum-package/commit/836cbb8b41a832f8f2fa0632a533c2634b1de19b))
* pass gas limit to ethrex if network gas_limit was specified ([#1232](https://github.com/ethpandaops/ethereum-package/issues/1232)) ([39ac09b](https://github.com/ethpandaops/ethereum-package/commit/39ac09b15fae9912e21e6878e4bbd674cb1a16ef))
* prysm gzip encoding bug ([#1112](https://github.com/ethpandaops/ethereum-package/issues/1112)) ([9f5fc45](https://github.com/ethpandaops/ethereum-package/commit/9f5fc45bd50c4f272c284684a3bccd6cff2a561e))
* pull kurtosis images in kurtosis install ([#1048](https://github.com/ethpandaops/ethereum-package/issues/1048)) ([a00b6dd](https://github.com/ethpandaops/ethereum-package/commit/a00b6ddb10b0232a4d674b8b8b7b65ad5ff49e2f))
* rbuilder parallel safe sorting ([#1046](https://github.com/ethpandaops/ethereum-package/issues/1046)) ([ec5895d](https://github.com/ethpandaops/ethereum-package/commit/ec5895dcc14046c48db4dcf330f9d760b8f009f6))
* readme for additional services ([#1270](https://github.com/ethpandaops/ethereum-package/issues/1270)) ([ba855e0](https://github.com/ethpandaops/ethereum-package/commit/ba855e0ada309474aa5df4f438a7b287dfc19780))
* readme/CI jobs ([#1263](https://github.com/ethpandaops/ethereum-package/issues/1263)) ([ca6b7d2](https://github.com/ethpandaops/ethereum-package/commit/ca6b7d221ea6da9b3798126cf3ec0587cd415082))
* remove default basefee fraction ([#1143](https://github.com/ethpandaops/ethereum-package/issues/1143)) ([d29e0bf](https://github.com/ethpandaops/ethereum-package/commit/d29e0bf10dfcc09ffb271805e80175e5a572ad90))
* remove graffiti ([#1082](https://github.com/ethpandaops/ethereum-package/issues/1082)) ([ee4fff4](https://github.com/ethpandaops/ethereum-package/commit/ee4fff44d1ab01ee6ff3f00c8324fbe8cbdb29d2))
* remove unused env ([#1153](https://github.com/ethpandaops/ethereum-package/issues/1153)) ([ea73a95](https://github.com/ethpandaops/ethereum-package/commit/ea73a95cc6da41572a356712cb661ed4cd169309))
* revert prometheus branch ([#1024](https://github.com/ethpandaops/ethereum-package/issues/1024)) ([1559386](https://github.com/ethpandaops/ethereum-package/commit/1559386a3ca922bb11be2c2f011c083a052f6a55))
* sanity check for all subfields ([#1130](https://github.com/ethpandaops/ethereum-package/issues/1130)) ([3d2c71c](https://github.com/ethpandaops/ethereum-package/commit/3d2c71c72a4ed32c94c3334e41f7821b124aab3e))
* service ports ([#1021](https://github.com/ethpandaops/ethereum-package/issues/1021)) ([e83a1ad](https://github.com/ethpandaops/ethereum-package/commit/e83a1ad903eada1b2d193a305e43f1e33c41821f))
* set deploy_client_group for mev related uniswap spammer ([#1195](https://github.com/ethpandaops/ethereum-package/issues/1195)) ([09d09b0](https://github.com/ethpandaops/ethereum-package/commit/09d09b0df362b2194e32e36eb40b5fcb14a9e631))
* set miner gasprice for geth if running kt' ([#1027](https://github.com/ethpandaops/ethereum-package/issues/1027)) ([161fc14](https://github.com/ethpandaops/ethereum-package/commit/161fc14275420827e673617768b2e4aa5115e55d))
* sf for erigon/geth post fulu ([#1183](https://github.com/ethpandaops/ethereum-package/issues/1183)) ([e964e30](https://github.com/ethpandaops/ethereum-package/commit/e964e305a19d56b798800e84d264f97b87952c55))
* shadowfork enclave edits ([#1070](https://github.com/ethpandaops/ethereum-package/issues/1070)) ([63689ec](https://github.com/ethpandaops/ethereum-package/commit/63689ecf0a7119d2383d0dc08beaef0798e6a4ba))
* shadowfork latest bug ([#1045](https://github.com/ethpandaops/ethereum-package/issues/1045)) ([197cdf8](https://github.com/ethpandaops/ethereum-package/commit/197cdf84cbcc713f46bb37c4af84c4a0cf1854ff))
* shadowfork upstream to eth-clients ([#1047](https://github.com/ethpandaops/ethereum-package/issues/1047)) ([7c11a34](https://github.com/ethpandaops/ethereum-package/commit/7c11a34b8afc3f059aa6ca114f903d4f678bad29))
* single-node lighthouse startup issue ([#1073](https://github.com/ethpandaops/ethereum-package/issues/1073)) ([6d29b3a](https://github.com/ethpandaops/ethereum-package/commit/6d29b3ab4e729913188358bc7a4ccdba9cf1e767))
* some tests ([#1190](https://github.com/ethpandaops/ethereum-package/issues/1190)) ([fca81b3](https://github.com/ethpandaops/ethereum-package/commit/fca81b36413bd1d0cbb17e25c8d2c576b3c0a408))
* specify devnet size for persistent flag ([#1054](https://github.com/ethpandaops/ethereum-package/issues/1054)) ([b4c398c](https://github.com/ethpandaops/ethereum-package/commit/b4c398c8fb6307024b02149e9269f479ed730215))
* update custom-network to --network ([#1159](https://github.com/ethpandaops/ethereum-package/issues/1159)) ([1f57a7b](https://github.com/ethpandaops/ethereum-package/commit/1f57a7b70fadb770934bdc4d7834255e0362bef4))
* Update mainnet yaml ([#1069](https://github.com/ethpandaops/ethereum-package/issues/1069)) ([288919b](https://github.com/ethpandaops/ethereum-package/commit/288919b9519eeb90db6b95cd27459d4aafe10f88))
* Update sf to osaka ([#1105](https://github.com/ethpandaops/ethereum-package/issues/1105)) ([59579bb](https://github.com/ethpandaops/ethereum-package/commit/59579bb09baad5cd9990b294bbc37517c3682ef0))
* update some tests ([#1122](https://github.com/ethpandaops/ethereum-package/issues/1122)) ([9488046](https://github.com/ethpandaops/ethereum-package/commit/94880461c85946c2e3b7e4af06f21ce88cd0184a))
* use default dora image for fulu networks ([#1128](https://github.com/ethpandaops/ethereum-package/issues/1128)) ([b1f4e5c](https://github.com/ethpandaops/ethereum-package/commit/b1f4e5c4bd8823e39ea9171a664292b691de71a1))
* use reth-rbuilder image as the default mev_builder_image in network_params.yaml ([#1077](https://github.com/ethpandaops/ethereum-package/issues/1077)) ([f07f3b6](https://github.com/ethpandaops/ethereum-package/commit/f07f3b6acc3642dfdd10c162cb05353e835bbd1a))
* use self hosted runners ([#1100](https://github.com/ethpandaops/ethereum-package/issues/1100)) ([2fc4a3c](https://github.com/ethpandaops/ethereum-package/commit/2fc4a3c4cb96ecef81894fa3284ead609e30c088))
* use ubuntu-latest ([#1078](https://github.com/ethpandaops/ethereum-package/issues/1078)) ([d209af4](https://github.com/ethpandaops/ethereum-package/commit/d209af4abc698a8ac1e2599d47aefb06d7532b8f))
* validator client compatibility update ([#1114](https://github.com/ethpandaops/ethereum-package/issues/1114)) ([b826cc9](https://github.com/ethpandaops/ethereum-package/commit/b826cc991925fac696a698a5d41f6df492410230))
* yeet unused mev builder ([#1056](https://github.com/ethpandaops/ethereum-package/issues/1056)) ([40767fe](https://github.com/ethpandaops/ethereum-package/commit/40767fef19cc1f91c6b0ab435bc5c70ca616cf4c))
* yeet-7907 ([#1116](https://github.com/ethpandaops/ethereum-package/issues/1116)) ([93c6630](https://github.com/ethpandaops/ethereum-package/commit/93c66309b4c437dd342a306be62682a816879932))
## [5.0.1](https://github.com/ethpandaops/ethereum-package/compare/5.0.0...5.0.1) (2025-05-08)
### Bug Fixes
* lighthouse target peers revert ([#1008](https://github.com/ethpandaops/ethereum-package/issues/1008)) ([c26e9f6](https://github.com/ethpandaops/ethereum-package/commit/c26e9f6d40b9c1c6f9ca1d4214f937f6846be1db))
## [5.0.0](https://github.com/ethpandaops/ethereum-package/compare/4.6.0...5.0.0) (2025-05-08)
### ⚠ BREAKING CHANGES
* refactor open ports + add quic support ([#1000](https://github.com/ethpandaops/ethereum-package/issues/1000))
* launch spamoor daemon with web ui ([#964](https://github.com/ethpandaops/ethereum-package/issues/964))
* rename max_blob to sidecar for spamoor-blob ([#959](https://github.com/ethpandaops/ethereum-package/issues/959))
* rename transaction spammer, remove beacon metrics gazer ([#923](https://github.com/ethpandaops/ethereum-package/issues/923))
### Features
* add force snapshot syncing capability ([#993](https://github.com/ethpandaops/ethereum-package/issues/993)) ([28b6e95](https://github.com/ethpandaops/ethereum-package/commit/28b6e9566526c3b1fd565901164f36c66cbd5b63))
* add fraction as a config param ([#944](https://github.com/ethpandaops/ethereum-package/issues/944)) ([ad5ed42](https://github.com/ethpandaops/ethereum-package/commit/ad5ed42f3b4ee97f1d6bfc8bd950ce76b9a37579))
* add gas limit overrides ([#968](https://github.com/ethpandaops/ethereum-package/issues/968)) ([35a3667](https://github.com/ethpandaops/ethereum-package/commit/35a3667b91fdf8994854f0f9d417e7dfeb73cec9))
* add params to configure spamoor resource limits ([#1001](https://github.com/ethpandaops/ethereum-package/issues/1001)) ([0c2945c](https://github.com/ethpandaops/ethereum-package/commit/0c2945c319eead7846c4774f20e1363666963583))
* add peerdas fulu support to nethermind ([#937](https://github.com/ethpandaops/ethereum-package/issues/937)) ([c187400](https://github.com/ethpandaops/ethereum-package/commit/c18740085c1980745b7df2340153474712257a4b))
* add perfect peerdas testing ([#928](https://github.com/ethpandaops/ethereum-package/issues/928)) ([7e9a17f](https://github.com/ethpandaops/ethereum-package/commit/7e9a17f2f71d3346bd3ea7cff7e7828061ff757e))
* add shadowfork at block height ([#1006](https://github.com/ethpandaops/ethereum-package/issues/1006)) ([595d663](https://github.com/ethpandaops/ethereum-package/commit/595d66324d0de365534ba7458cd811f95252dac6))
* add spammor_blob wrapper v1 to activate with fulu ([#948](https://github.com/ethpandaops/ethereum-package/issues/948)) ([8c35011](https://github.com/ethpandaops/ethereum-package/commit/8c35011c72b89bf718147a1d0ffca6a8fc18e372))
* add validator custody ([#929](https://github.com/ethpandaops/ethereum-package/issues/929)) ([2ab3246](https://github.com/ethpandaops/ethereum-package/commit/2ab3246f8c214f16e59f4fa4b295addec11afa08))
* enable checkpoint sync for ephemery and public devnets ([#949](https://github.com/ethpandaops/ethereum-package/issues/949)) ([423b8c1](https://github.com/ethpandaops/ethereum-package/commit/423b8c1d232678475010ff9ec315dd85c141361d))
* enable checkpoint sync for public networks ([#935](https://github.com/ethpandaops/ethereum-package/issues/935)) ([13dbe4d](https://github.com/ethpandaops/ethereum-package/commit/13dbe4d99a80f183dd7546955a0fe491e111abc8))
* launch spamoor daemon with web ui ([#964](https://github.com/ethpandaops/ethereum-package/issues/964)) ([dabce8c](https://github.com/ethpandaops/ethereum-package/commit/dabce8c5ae92e68ad2bb3d124f30c33b32d111c7))
* make genesis electra ([#940](https://github.com/ethpandaops/ethereum-package/issues/940)) ([1d4e943](https://github.com/ethpandaops/ethereum-package/commit/1d4e943b19e29308cf02c40c3b57c1b7ba744b4d))
* remove python dependency ([#958](https://github.com/ethpandaops/ethereum-package/issues/958)) ([96cc80e](https://github.com/ethpandaops/ethereum-package/commit/96cc80e6d26aaed4892b3dda390e3b9cf3ac5609))
* rename max_blob to sidecar for spamoor-blob ([#959](https://github.com/ethpandaops/ethereum-package/issues/959)) ([8aa239e](https://github.com/ethpandaops/ethereum-package/commit/8aa239e86c4916e8faf6ccdeef0d1a6fec832016))
* test new eth-beacon-genesis ([#938](https://github.com/ethpandaops/ethereum-package/issues/938)) ([7ae4061](https://github.com/ethpandaops/ethereum-package/commit/7ae406180239bc6b67c65023bd4782e596031b52))
* Update pectra files ([#983](https://github.com/ethpandaops/ethereum-package/issues/983)) ([cf13b4b](https://github.com/ethpandaops/ethereum-package/commit/cf13b4b87030df42854a0bddd314bcda73168b6b))
### Bug Fixes
* able to override spamoor blob image ([#954](https://github.com/ethpandaops/ethereum-package/issues/954)) ([07ad4cf](https://github.com/ethpandaops/ethereum-package/commit/07ad4cf1482b76704e78172f59057f7edbea54ee))
* add blobscan DIRECT_URL env var ([#936](https://github.com/ethpandaops/ethereum-package/issues/936)) ([084e08d](https://github.com/ethpandaops/ethereum-package/commit/084e08d459a288839e24d4ef1c4fd9aa0fc36b8e)), closes [#916](https://github.com/ethpandaops/ethereum-package/issues/916)
* add missing flags to rbuilder ([#947](https://github.com/ethpandaops/ethereum-package/issues/947)) ([b710250](https://github.com/ethpandaops/ethereum-package/commit/b710250dac7c60a24f7b48896b9a459580ae20a2))
* add sec per slot to mev boost ([#984](https://github.com/ethpandaops/ethereum-package/issues/984)) ([ee447ec](https://github.com/ethpandaops/ethereum-package/commit/ee447ecef14302898db4e1d67b02b0ee722818b9))
* allow prysm to be forever-alone ([#969](https://github.com/ethpandaops/ethereum-package/issues/969)) ([6c82d40](https://github.com/ethpandaops/ethereum-package/commit/6c82d405cbb215d575979ec8408b10842c2bec0e))
* bump egg to v4.0.1 ([#939](https://github.com/ethpandaops/ethereum-package/issues/939)) ([4e3099c](https://github.com/ethpandaops/ethereum-package/commit/4e3099c9bf37c3c81c5d460cb43ca26b9f4d5d7f))
* bump eth metrics export and egg ([#991](https://github.com/ethpandaops/ethereum-package/issues/991)) ([1e65a6f](https://github.com/ethpandaops/ethereum-package/commit/1e65a6fc75c2b843d789f53f318f7bbbc6d51ba2))
* bump mev relay mem limit ([#1003](https://github.com/ethpandaops/ethereum-package/issues/1003)) ([8e54d8d](https://github.com/ethpandaops/ethereum-package/commit/8e54d8db091700de2af52488be5f8ba36625c7ac))
* bump tests ([#942](https://github.com/ethpandaops/ethereum-package/issues/942)) ([09ce03f](https://github.com/ethpandaops/ethereum-package/commit/09ce03f87140f2b058ca3ce9c7007860a7ceb2fd))
* cancellations for mev_relay_launcher.star ([#961](https://github.com/ethpandaops/ethereum-package/issues/961)) ([6b8f5e4](https://github.com/ethpandaops/ethereum-package/commit/6b8f5e4a9c9559894511a3e8e53096e48fba103e))
* change all deposit addresses to mainnet ([#981](https://github.com/ethpandaops/ethereum-package/issues/981)) ([d677e63](https://github.com/ethpandaops/ethereum-package/commit/d677e630f8e69137a3314df525e718f9dee6d286))
* **ci:** make docker rate limits appear correctly ([#946](https://github.com/ethpandaops/ethereum-package/issues/946)) ([0d9550a](https://github.com/ethpandaops/ethereum-package/commit/0d9550a788f936d4189f6fafe3756f8371f6a23f))
* cleanup spamoor blob ([#972](https://github.com/ethpandaops/ethereum-package/issues/972)) ([9f3a81e](https://github.com/ethpandaops/ethereum-package/commit/9f3a81e05bb04cfd6f8fca176d0b85e8ccc74928))
* geth network id cant be set with public networks ([#1005](https://github.com/ethpandaops/ethereum-package/issues/1005)) ([09ded2a](https://github.com/ethpandaops/ethereum-package/commit/09ded2a501f4b6d04bf46df42912d74d045abbe8))
* handle extra args for spamoor ([#975](https://github.com/ethpandaops/ethereum-package/issues/975)) ([12736e6](https://github.com/ethpandaops/ethereum-package/commit/12736e69c6d76395f94508cfab2de0ef155d27ae))
* lighthouse to be able to run alone ([#1007](https://github.com/ethpandaops/ethereum-package/issues/1007)) ([4c75506](https://github.com/ethpandaops/ethereum-package/commit/4c75506efb0b3a93c91cc660a688e350b2808166))
* make geth default to snap-sync ([#998](https://github.com/ethpandaops/ethereum-package/issues/998)) ([067ca8c](https://github.com/ethpandaops/ethereum-package/commit/067ca8cf4c374d658e1e530144de304d46a45663))
* make mev work with minimal preset ([#992](https://github.com/ethpandaops/ethereum-package/issues/992)) ([ff3da12](https://github.com/ethpandaops/ethereum-package/commit/ff3da1210a17b6fcf874657a5e620dd949b6606e))
* mev-pectra workflow ([#963](https://github.com/ethpandaops/ethereum-package/issues/963)) ([729ead8](https://github.com/ethpandaops/ethereum-package/commit/729ead846c3dac302bf6efd17ba842700bdb521c))
* nimbus supernode flag ([#997](https://github.com/ethpandaops/ethereum-package/issues/997)) ([8518302](https://github.com/ethpandaops/ethereum-package/commit/85183028766167dc52bdca56a26d1b5e48a4d5b1))
* osaka blob schedule chainspec ([#943](https://github.com/ethpandaops/ethereum-package/issues/943)) ([59ebc52](https://github.com/ethpandaops/ethereum-package/commit/59ebc524048024665e4902923c0edb24e9541f17))
* public networks wont fetch prague and osaka time ([#950](https://github.com/ethpandaops/ethereum-package/issues/950)) ([7fe59a8](https://github.com/ethpandaops/ethereum-package/commit/7fe59a8999f19498da981c57fde327540ecfeff0))
* python 3.11 bug, bump to 3.12 ([#957](https://github.com/ethpandaops/ethereum-package/issues/957)) ([83830d4](https://github.com/ethpandaops/ethereum-package/commit/83830d44823767af65eda7dfe6b26c87c536c4cf))
* refactor open ports + add quic support ([#1000](https://github.com/ethpandaops/ethereum-package/issues/1000)) ([a9247f3](https://github.com/ethpandaops/ethereum-package/commit/a9247f32e62db707407482ed20a0ad8a3f3765c9))
* reth-builder client name type ([#967](https://github.com/ethpandaops/ethereum-package/issues/967)) ([d27d959](https://github.com/ethpandaops/ethereum-package/commit/d27d959d0a6f2be74eb68c97ae3a1f9819d3ac2e))
* set fulu specific properties for blob scenarios in spamoor ([#971](https://github.com/ethpandaops/ethereum-package/issues/971)) ([74e98f0](https://github.com/ethpandaops/ethereum-package/commit/74e98f0e4e2546e8603bdc2b7fc4668f0bde7cc4))
* supernode bool in participant matrix ([#951](https://github.com/ethpandaops/ethereum-package/issues/951)) ([3a0a9a0](https://github.com/ethpandaops/ethereum-package/commit/3a0a9a00e94c42c8d5b99045eea64e8f53682d68))
* teku initial state to genesis state ([#962](https://github.com/ethpandaops/ethereum-package/issues/962)) ([1ad949f](https://github.com/ethpandaops/ethereum-package/commit/1ad949f4f65a34f041bd90050ca407e370eee579))
* update nimbus latest image ([#987](https://github.com/ethpandaops/ethereum-package/issues/987)) ([a5a1561](https://github.com/ethpandaops/ethereum-package/commit/a5a15619d89e5f193ef1d764f73259f425c4ffa2))
* update prysm supernode flag ([#999](https://github.com/ethpandaops/ethereum-package/issues/999)) ([eed788c](https://github.com/ethpandaops/ethereum-package/commit/eed788c074b3342b71498f8b864a3f5495ef4f38))
* Update tests ([#918](https://github.com/ethpandaops/ethereum-package/issues/918)) ([d8e035b](https://github.com/ethpandaops/ethereum-package/commit/d8e035b7a6e3e498b84b0edd77f0e526092a5fb1))
* use latest spamoor instead of blob-v1 for peerdas ([#1004](https://github.com/ethpandaops/ethereum-package/issues/1004)) ([f2c19b1](https://github.com/ethpandaops/ethereum-package/commit/f2c19b105ccf5824f7fc7ae3bf615ab504fd4e26))
* use next js proxy for blockscout frontend ([#873](https://github.com/ethpandaops/ethereum-package/issues/873)) ([151ff0a](https://github.com/ethpandaops/ethereum-package/commit/151ff0a1c865eb8365b7ec2f1ccfa0788d532d9f))
* use separate file for additional contracts & fix disabled fork activation epoch ([#849](https://github.com/ethpandaops/ethereum-package/issues/849)) ([e8cd95d](https://github.com/ethpandaops/ethereum-package/commit/e8cd95d9a9cc7e7b1f14584fed6c56ac0b0a6bd3))
* yeet trailing comma from enr list ([#965](https://github.com/ethpandaops/ethereum-package/issues/965)) ([63a6d50](https://github.com/ethpandaops/ethereum-package/commit/63a6d502d0a2d037ff083cb524f024c2d2e0b4db))
### Code Refactoring
* rename transaction spammer, remove beacon metrics gazer ([#923](https://github.com/ethpandaops/ethereum-package/issues/923)) ([96eeb99](https://github.com/ethpandaops/ethereum-package/commit/96eeb99bed7abc14dcec1eca5eae0f852eeb9fb0))
## [4.6.0](https://github.com/ethpandaops/ethereum-package/compare/4.5.0...4.6.0) (2025-03-19)
### Features
* use `eip7805-support` image for dora when eip7805 is scheduled for activation ([#900](https://github.com/ethpandaops/ethereum-package/issues/900)) ([9b3ee49](https://github.com/ethpandaops/ethereum-package/commit/9b3ee49c6086dcbdce833b68d8165f740273f23c))
### Bug Fixes
* add milliseconds to histograms ([#879](https://github.com/ethpandaops/ethereum-package/issues/879)) ([53602f1](https://github.com/ethpandaops/ethereum-package/commit/53602f1b042d2c8a2a5c064ce087a5f00ae53f7f))
* commit boost startup ([#906](https://github.com/ethpandaops/ethereum-package/issues/906)) ([040e622](https://github.com/ethpandaops/ethereum-package/commit/040e622cdf28e02721aa2e54904ee3d902485c18))
* decrease lighthouse mev --prepare-payload-lookahead from 12 to 8s ([#904](https://github.com/ethpandaops/ethereum-package/issues/904)) ([03bb449](https://github.com/ethpandaops/ethereum-package/commit/03bb449cfd327e55188fb1ff4407c4b75606b911))
* lighthouse minimal image ([#915](https://github.com/ethpandaops/ethereum-package/issues/915)) ([c3ecee8](https://github.com/ethpandaops/ethereum-package/commit/c3ecee8148068d5270d9e549d042066d2eb8aec0))
* prometheus shouldnt use latest ([#924](https://github.com/ethpandaops/ethereum-package/issues/924)) ([5cc99c8](https://github.com/ethpandaops/ethereum-package/commit/5cc99c8f30a758c77243a0f07c8f07462522436f))
* provide `--network-custom-config-path` to Vero ([#905](https://github.com/ethpandaops/ethereum-package/issues/905)) ([998063f](https://github.com/ethpandaops/ethereum-package/commit/998063fae8c68288dbc760e4a76bfdfa23ecd62b))
* Update config.toml.tmpl ([#919](https://github.com/ethpandaops/ethereum-package/issues/919)) ([8f8830f](https://github.com/ethpandaops/ethereum-package/commit/8f8830fd1992db4e5678c125bc400e310d5b6006))
* update to latest spec ([a9058f5](https://github.com/ethpandaops/ethereum-package/commit/a9058f540c6d34584dae6f73a79fae33d9fa29d6))
## [4.5.0](https://github.com/ethpandaops/ethereum-package/compare/4.4.0...4.5.0) (2025-02-10)
### ⚠ BREAKING CHANGES
* remove vc_count ([#844](https://github.com/ethpandaops/ethereum-package/issues/844))
### Features
* add custom image for egg ([#859](https://github.com/ethpandaops/ethereum-package/issues/859)) ([e60afbe](https://github.com/ethpandaops/ethereum-package/commit/e60afbeb7cefd1ee853c9bdca0041a6d4040fe78))
* add gossip limit as a configuratable flag ([#856](https://github.com/ethpandaops/ethereum-package/issues/856)) ([56a3197](https://github.com/ethpandaops/ethereum-package/commit/56a3197f5385de7d8c1e768fe4b537603c86abcf))
* add max,target blobs for future forks ([#851](https://github.com/ethpandaops/ethereum-package/issues/851)) ([1c33375](https://github.com/ethpandaops/ethereum-package/commit/1c333758f26ffc17dcfae92db68eda0bd8d2951b))
* add op package per pr check ([#854](https://github.com/ethpandaops/ethereum-package/issues/854)) ([0e4e7aa](https://github.com/ethpandaops/ethereum-package/commit/0e4e7aa8da7dc7f4e2270efdc1acded484a31322))
* add spamoor ([#850](https://github.com/ethpandaops/ethereum-package/issues/850)) ([a01d772](https://github.com/ethpandaops/ethereum-package/commit/a01d77274ebf7790a610932e225b8415575df492))
* add support for pull through cache ([#833](https://github.com/ethpandaops/ethereum-package/issues/833)) ([0b2a2ae](https://github.com/ethpandaops/ethereum-package/commit/0b2a2ae081652f5c7e7ef1da13744a40c7279f37))
* add vero `vc_type` ([#827](https://github.com/ethpandaops/ethereum-package/issues/827)) ([c2af143](https://github.com/ethpandaops/ethereum-package/commit/c2af14377ccb118e1ba6b06f1ee8335113ff6e16))
* Add-blockscout_params ([#838](https://github.com/ethpandaops/ethereum-package/issues/838)) ([777ec06](https://github.com/ethpandaops/ethereum-package/commit/777ec065efe9714acb2f6762ec21c6f5c1961f4a))
* Adding support for EIP-7732 and EIP-7805 ([#880](https://github.com/ethpandaops/ethereum-package/issues/880)) ([6b7a409](https://github.com/ethpandaops/ethereum-package/commit/6b7a409f2d78d50dfb66d8de7aededa080ab6230))
* Adding support for new system contracts + updating devnet config ([#862](https://github.com/ethpandaops/ethereum-package/issues/862)) ([8ed275a](https://github.com/ethpandaops/ethereum-package/commit/8ed275a4ec4524b1df4b7cfe38a5f2374711760d))
* Replacing mock builder ([#864](https://github.com/ethpandaops/ethereum-package/issues/864)) ([d3a0024](https://github.com/ethpandaops/ethereum-package/commit/d3a002494822c23bd7a0b677b738107c262ad0ff))
* support older forks ([#846](https://github.com/ethpandaops/ethereum-package/issues/846)) ([d7e31e0](https://github.com/ethpandaops/ethereum-package/commit/d7e31e01ca6fff88c64ee3846d517e2f32d7bbcf))
* update blockscout with new frontend ([#843](https://github.com/ethpandaops/ethereum-package/issues/843)) ([4f69962](https://github.com/ethpandaops/ethereum-package/commit/4f69962f440fc85c61e9ec2b812463d9ab965f7a))
* Update devnet-5 example ([#863](https://github.com/ethpandaops/ethereum-package/issues/863)) ([04e13f3](https://github.com/ethpandaops/ethereum-package/commit/04e13f3bca8f14207b4b8f6014790c7b1b4affe7))
* Update egg to support new system contract addresses ([#883](https://github.com/ethpandaops/ethereum-package/issues/883)) ([9f7ad78](https://github.com/ethpandaops/ethereum-package/commit/9f7ad78bdea16f2da63e0085272b78e55ccdc823))
* use `eip7732-support` image for dora when eip7732 is scheduled for activation (ePBS) ([#881](https://github.com/ethpandaops/ethereum-package/issues/881)) ([dbe7912](https://github.com/ethpandaops/ethereum-package/commit/dbe7912b932261ca3946562c263595e597bc6f8d))
### Bug Fixes
* add fulu overrides automatically for assertoor and dora if fulu is active ([#858](https://github.com/ethpandaops/ethereum-package/issues/858)) ([d6bec16](https://github.com/ethpandaops/ethereum-package/commit/d6bec165b9bbb3e2a63cbafb063fd52197b23af9))
* add txpool to reth api ([#841](https://github.com/ethpandaops/ethereum-package/issues/841)) ([35ec958](https://github.com/ethpandaops/ethereum-package/commit/35ec9585a728d373f3e9ec8c84e9abcddfed82a1))
* bump assertoor memory limit to 8G ([#874](https://github.com/ethpandaops/ethereum-package/issues/874)) ([8ff3b11](https://github.com/ethpandaops/ethereum-package/commit/8ff3b1138d910cdbff1bc60764e9ddb596c3a551))
* comment out optimism check from per-PR workflow ([#878](https://github.com/ethpandaops/ethereum-package/issues/878)) ([02323a3](https://github.com/ethpandaops/ethereum-package/commit/02323a3bf34089117ee303f114ac08267c34f9d0))
* dora override ([#857](https://github.com/ethpandaops/ethereum-package/issues/857)) ([50ec581](https://github.com/ethpandaops/ethereum-package/commit/50ec58115674dced97f9159123ba7e2b044518d4))
* Enable txpool on geth,besu and nethermind ([#868](https://github.com/ethpandaops/ethereum-package/issues/868)) ([f9d0b50](https://github.com/ethpandaops/ethereum-package/commit/f9d0b501a7a6543149d2ccd9b063f5beb34d30c9))
* Fixes minimal runs with deneb state ([#871](https://github.com/ethpandaops/ethereum-package/issues/871)) ([2ca35e8](https://github.com/ethpandaops/ethereum-package/commit/2ca35e8eb74d8a78e5b6fed110d69b0e68308c76))
* mev-builder custom image ([#847](https://github.com/ethpandaops/ethereum-package/issues/847)) ([bc89ad3](https://github.com/ethpandaops/ethereum-package/commit/bc89ad316b9b7b137382269138fc37e241a645d1))
* Private key for account 20 ([#870](https://github.com/ethpandaops/ethereum-package/issues/870)) ([9782552](https://github.com/ethpandaops/ethereum-package/commit/9782552e6828019f07f177c524988c24b4da1e1f))
* **prysm:** run p2p-udp on different port as it might conflict with the new quic port ([#845](https://github.com/ethpandaops/ethereum-package/issues/845)) ([3bb88e0](https://github.com/ethpandaops/ethereum-package/commit/3bb88e04d2fa9f27418c013d656b02a714c20f4d))
* rbuilder upstream repo with reth-rbuilder binary ([#828](https://github.com/ethpandaops/ethereum-package/issues/828)) ([55df658](https://github.com/ethpandaops/ethereum-package/commit/55df658f7757d29419aca7510830cf1d5c70d492))
* remove vc_count ([#844](https://github.com/ethpandaops/ethereum-package/issues/844)) ([b61a128](https://github.com/ethpandaops/ethereum-package/commit/b61a128bf1d96e8dd11f028925dee9b70e37ac6f))
* replace goomy with spamoor ([#860](https://github.com/ethpandaops/ethereum-package/issues/860)) ([28f7b7d](https://github.com/ethpandaops/ethereum-package/commit/28f7b7d4849ceeab56ac648949b74a1aa0e28dee))
* revert egg version ([#852](https://github.com/ethpandaops/ethereum-package/issues/852)) ([a182f30](https://github.com/ethpandaops/ethereum-package/commit/a182f3039b91c15cde5b0d0967666d336a9629ac))
* sanity check for count ([#835](https://github.com/ethpandaops/ethereum-package/issues/835)) ([2633d15](https://github.com/ethpandaops/ethereum-package/commit/2633d15b9739520bb979887965a04382869d16d8))
* Update default mev-images source ([#884](https://github.com/ethpandaops/ethereum-package/issues/884)) ([176b08a](https://github.com/ethpandaops/ethereum-package/commit/176b08a7062a2fe7bd71a141b1e796f040a38dc4))
* Update Erigon docker image repo naming ([#834](https://github.com/ethpandaops/ethereum-package/issues/834)) ([ceb1444](https://github.com/ethpandaops/ethereum-package/commit/ceb14448b4e3b48b4cbf893bf5d95572bfd8949c))
* Update ethereum-genesis-generator to fix eip7623 timestamp missing for Nethermind ([#875](https://github.com/ethpandaops/ethereum-package/issues/875)) ([1c1d698](https://github.com/ethpandaops/ethereum-package/commit/1c1d6988f9c1028ec9cdb22655b556977db901b1))
* update kt config ([#876](https://github.com/ethpandaops/ethereum-package/issues/876)) ([1704194](https://github.com/ethpandaops/ethereum-package/commit/1704194121ba25e1e845f210f248b9b5993d24c2))
* Update rbuilder flag and add mainnet split example ([#885](https://github.com/ethpandaops/ethereum-package/issues/885)) ([4bbd070](https://github.com/ethpandaops/ethereum-package/commit/4bbd0705d80770df230129d43920784b123b6bbd))
* Update test files ([#893](https://github.com/ethpandaops/ethereum-package/issues/893)) ([4fcca66](https://github.com/ethpandaops/ethereum-package/commit/4fcca6677bd87b2cb712989bfbcbd1e7bb7152f4))
* use default image for assertoor with electra enabled ([#855](https://github.com/ethpandaops/ethereum-package/issues/855)) ([3b51e5e](https://github.com/ethpandaops/ethereum-package/commit/3b51e5e280e9fc1c7dba890c4e8e795a75e525b2))
* use writable path for assertoor db ([#877](https://github.com/ethpandaops/ethereum-package/issues/877)) ([a913455](https://github.com/ethpandaops/ethereum-package/commit/a913455bb3cdf9abb5dea8e27def320b5bf3ae75))
### Miscellaneous Chores
* release 4.5.0 ([#896](https://github.com/ethpandaops/ethereum-package/issues/896)) ([0dc54e0](https://github.com/ethpandaops/ethereum-package/commit/0dc54e0018356e88a478bbaf4c6782cdcb0c9b6f))
## [4.4.0](https://github.com/ethpandaops/ethereum-package/compare/4.3.0...4.4.0) (2024-11-01)
### Features
* add checkpoint sync capabilities to nimbus ([#804](https://github.com/ethpandaops/ethereum-package/issues/804)) ([853417e](https://github.com/ethpandaops/ethereum-package/commit/853417efb5a79056bb6e8a1f37739747131066d5))
* add commit-boost support ([#779](https://github.com/ethpandaops/ethereum-package/issues/779)) ([ebbbe83](https://github.com/ethpandaops/ethereum-package/commit/ebbbe8365730a79b98e6bf96b72a8f75a9744f1b))
* add docker authentication ([#816](https://github.com/ethpandaops/ethereum-package/issues/816)) ([807f6aa](https://github.com/ethpandaops/ethereum-package/commit/807f6aa8a992d1868d2d0aed7f5857df3c5857e5))
* add peerdas metrics dashboard ([#790](https://github.com/ethpandaops/ethereum-package/issues/790)) ([12b787d](https://github.com/ethpandaops/ethereum-package/commit/12b787dd7f1b7130dde369c1eb643dedde4ca03c))
* add rbuilder remove old geth builder - flashbots ([#786](https://github.com/ethpandaops/ethereum-package/issues/786)) ([de95c61](https://github.com/ethpandaops/ethereum-package/commit/de95c61cf5d2243a3838d2104b5a4591a57e988f))
* add resource configuration for prometheus and grafana ([#773](https://github.com/ethpandaops/ethereum-package/issues/773)) ([d296c26](https://github.com/ethpandaops/ethereum-package/commit/d296c265ab7e4e67c9c6774c665fe3b3184f9f13))
* add supernode label to every container ([#788](https://github.com/ethpandaops/ethereum-package/issues/788)) ([43edfd5](https://github.com/ethpandaops/ethereum-package/commit/43edfd5a5bb597636dcbaa1d7f299868d27cdab2))
* add support for fulu/osaka fusaka ([#798](https://github.com/ethpandaops/ethereum-package/issues/798)) ([0a9e445](https://github.com/ethpandaops/ethereum-package/commit/0a9e445b3cf8a8557bf03b454b0967bf51f6734f))
* add support for remote signers - `use_remote_signer` ([#791](https://github.com/ethpandaops/ethereum-package/issues/791)) ([9f1b6e9](https://github.com/ethpandaops/ethereum-package/commit/9f1b6e953fec3fd172543ed8fad510523382c576))
* enable one parameter supernode, refactor el,cl,vc ([#778](https://github.com/ethpandaops/ethereum-package/issues/778)) ([8513c06](https://github.com/ethpandaops/ethereum-package/commit/8513c06020812e33a61ecaee073a165d85ed7ce0))
### Bug Fixes
* add database config to assertoor ([#783](https://github.com/ethpandaops/ethereum-package/issues/783)) ([56532cf](https://github.com/ethpandaops/ethereum-package/commit/56532cf50fc56e5958b5839905f7f1b1081ad169))
* add nimbus-eth1 net-key ([#811](https://github.com/ethpandaops/ethereum-package/issues/811)) ([c91bbbb](https://github.com/ethpandaops/ethereum-package/commit/c91bbbbe20d14712e3731e37bea46a9cf4c88da6))
* delete unnecessary port assignment for prysm ([#810](https://github.com/ethpandaops/ethereum-package/issues/810)) ([47204c3](https://github.com/ethpandaops/ethereum-package/commit/47204c350117b2a7b1cfa4c38d3308bd5e90828e))
* docker login to separate action yaml ([#819](https://github.com/ethpandaops/ethereum-package/issues/819)) ([2494022](https://github.com/ethpandaops/ethereum-package/commit/2494022122d3590f5dc1ec701a9fb7e081d5c0e6))
* get volume size recommendations when in shadowfork mode ([#820](https://github.com/ethpandaops/ethereum-package/issues/820)) ([b1f27c6](https://github.com/ethpandaops/ethereum-package/commit/b1f27c649e61f29700baf9f204b89054e507c44a))
* mixed up labels ([#799](https://github.com/ethpandaops/ethereum-package/issues/799)) ([e2c1528](https://github.com/ethpandaops/ethereum-package/commit/e2c1528834809db1f68f79133edc6016132d2f2f))
* only set supernode if its true ([#796](https://github.com/ethpandaops/ethereum-package/issues/796)) ([2110a60](https://github.com/ethpandaops/ethereum-package/commit/2110a608205e06e1986c58efeeeefefd37df51eb))
* prefund container suffixes for k8s ([#818](https://github.com/ethpandaops/ethereum-package/issues/818)) ([968cfbd](https://github.com/ethpandaops/ethereum-package/commit/968cfbdb702e5e277bec8704e5185055dedabe74))
* remove deprecated http-allow-sync-stalled from LH ([#805](https://github.com/ethpandaops/ethereum-package/issues/805)) ([1825dbf](https://github.com/ethpandaops/ethereum-package/commit/1825dbfc6d58a6326f11fa5a9531b6867b0d5b77))
* Remove not necessary "/api" (and bump verifier version) ([#792](https://github.com/ethpandaops/ethereum-package/issues/792)) ([befde97](https://github.com/ethpandaops/ethereum-package/commit/befde97ce72f133bd8b491fe2e4a40870af52f12))
* set default for label-maker ([#797](https://github.com/ethpandaops/ethereum-package/issues/797)) ([5b2d234](https://github.com/ethpandaops/ethereum-package/commit/5b2d234217de686ac002b077d3047708d0a0a132))
* swap http/grpc server ports and replace flags ([#802](https://github.com/ethpandaops/ethereum-package/issues/802)) ([8c6df26](https://github.com/ethpandaops/ethereum-package/commit/8c6df267a4d517e670425e0de4c18cff122500af))
* update built in assertoor tests ([#782](https://github.com/ethpandaops/ethereum-package/issues/782)) ([d24fb2a](https://github.com/ethpandaops/ethereum-package/commit/d24fb2a2ec529bb17b386d3c99bcdf9dd2a94118))
* update nethermind config option ([#824](https://github.com/ethpandaops/ethereum-package/issues/824)) ([08ce034](https://github.com/ethpandaops/ethereum-package/commit/08ce034e06ecdcc2885e3f5ecf721cf6df6caddd))
## [4.3.0](https://github.com/ethpandaops/ethereum-package/compare/4.2.0...4.3.0) (2024-09-23)
### Features
* add prefunded accounts ([#752](https://github.com/ethpandaops/ethereum-package/issues/752)) ([1be7efa](https://github.com/ethpandaops/ethereum-package/commit/1be7efa028d5b72837a9c4b5de5b70e102e2f166))
* dora - show more infos about all peers on client pages ([#760](https://github.com/ethpandaops/ethereum-package/issues/760)) ([c77d95f](https://github.com/ethpandaops/ethereum-package/commit/c77d95fe21deb9dd09481998d2e39f46b148f146))
### Bug Fixes
* `metrics-host-allowlist` for Teku ([#765](https://github.com/ethpandaops/ethereum-package/issues/765)) ([ad75fcc](https://github.com/ethpandaops/ethereum-package/commit/ad75fcce4aa3dcd0064a6d538462587e430478a0))
* built in validator lifecycle test for assertoor ([#763](https://github.com/ethpandaops/ethereum-package/issues/763)) ([6f868cc](https://github.com/ethpandaops/ethereum-package/commit/6f868ccf26abf341a83bc96569dea0fa890f90f7))
* explicitly set client contexts ([#755](https://github.com/ethpandaops/ethereum-package/issues/755)) ([94dc531](https://github.com/ethpandaops/ethereum-package/commit/94dc531e332f4fd4466a9473dfec328a3a681b01))
* no default resource limits ([#768](https://github.com/ethpandaops/ethereum-package/issues/768)) ([4c4831b](https://github.com/ethpandaops/ethereum-package/commit/4c4831bc509ae580f68b85c2c5b469d454586def))
* prysm gRPC removal - use http server instead for keymanager ([#761](https://github.com/ethpandaops/ethereum-package/issues/761)) ([ba91174](https://github.com/ethpandaops/ethereum-package/commit/ba911745b5e6cdc0216c5394394605d274ce70ef))
* remove epoch checker for goomy ([#754](https://github.com/ethpandaops/ethereum-package/issues/754)) ([f124bbf](https://github.com/ethpandaops/ethereum-package/commit/f124bbf96847ec08d3aa7e8b65df336ef6722475))
* remove exp RPC API namespace flag from nimbus-eth1 configuration ([#767](https://github.com/ethpandaops/ethereum-package/issues/767)) ([8fec454](https://github.com/ethpandaops/ethereum-package/commit/8fec454f7af0733277336fc3f06376442b7b4fa4))
* reth-builder volume claim ([#771](https://github.com/ethpandaops/ethereum-package/issues/771)) ([4570328](https://github.com/ethpandaops/ethereum-package/commit/4570328e47b6ef5a59a47635f6c58acd3f8ad2d1))
* update dora config for latest release & remove custom images ([#748](https://github.com/ethpandaops/ethereum-package/issues/748)) ([a433c50](https://github.com/ethpandaops/ethereum-package/commit/a433c50e1c61dd20a6c28dcebfde704c136ddb69))
## [4.2.0](https://github.com/ethpandaops/ethereum-package/compare/4.1.0...4.2.0) (2024-08-19)
### Features
* add customizable configuraiton for prometheus retention ([#745](https://github.com/ethpandaops/ethereum-package/issues/745)) ([6c02dfe](https://github.com/ethpandaops/ethereum-package/commit/6c02dfee67e239650f9f21786ff5c976770a733b))
* add genesis_gaslimit param configuration ([#726](https://github.com/ethpandaops/ethereum-package/issues/726)) ([a4ba9a6](https://github.com/ethpandaops/ethereum-package/commit/a4ba9a65852411db43dbcf3c727c9ad52040e482))
* Add Lighthouse PeerDAS Dashboard ([#736](https://github.com/ethpandaops/ethereum-package/issues/736)) ([ffbfde2](https://github.com/ethpandaops/ethereum-package/commit/ffbfde23f2e58350145ab48d0dbce5e245385ab5))
* add peerdas-electra-support ([#740](https://github.com/ethpandaops/ethereum-package/issues/740)) ([663e7e6](https://github.com/ethpandaops/ethereum-package/commit/663e7e654b81fb623a1fa486ccf7092ba2e39d80))
* add profiling for prysm ([#722](https://github.com/ethpandaops/ethereum-package/issues/722)) ([7dc6660](https://github.com/ethpandaops/ethereum-package/commit/7dc66606f5d5f86d4ef394bc70fe2e936cd55c75))
* add sanity check ([#710](https://github.com/ethpandaops/ethereum-package/issues/710)) ([b824cac](https://github.com/ethpandaops/ethereum-package/commit/b824cac89ca2c78604c82544888a89c0c1d3aa80))
* enable dora pprof ([#743](https://github.com/ethpandaops/ethereum-package/issues/743)) ([2b7be9a](https://github.com/ethpandaops/ethereum-package/commit/2b7be9a27c516b17322e8028c23813620bfc6afe))
* generate keys if not default key is used ([#707](https://github.com/ethpandaops/ethereum-package/issues/707)) ([2d1cab5](https://github.com/ethpandaops/ethereum-package/commit/2d1cab5317dac62524601f392a4a62a7c3a88b80))
* lodestar persists invalid ssz objects by default ([#730](https://github.com/ethpandaops/ethereum-package/issues/730)) ([5a45991](https://github.com/ethpandaops/ethereum-package/commit/5a459914327e33c426e82df62af6336970857f08))
* update egg config parameters ([#737](https://github.com/ethpandaops/ethereum-package/issues/737)) ([78c2bc7](https://github.com/ethpandaops/ethereum-package/commit/78c2bc77caaf814cf360499b6b61337ea7eb7099))
### Bug Fixes
* add debug ns to nethermind ([#732](https://github.com/ethpandaops/ethereum-package/issues/732)) ([372bb52](https://github.com/ethpandaops/ethereum-package/commit/372bb521525948bc0a97a1999e6d233cb2792626))
* allow vc properties in participants_matrix.cl ([#715](https://github.com/ethpandaops/ethereum-package/issues/715)) ([c8b9b19](https://github.com/ethpandaops/ethereum-package/commit/c8b9b19c045f6075fa02f9abf8f761a5a8056ba3))
* besu devnet schedule ([#734](https://github.com/ethpandaops/ethereum-package/issues/734)) ([28b67cd](https://github.com/ethpandaops/ethereum-package/commit/28b67cd17a6f0abf80c46821465872d4006f9277))
* blobscan redis dependency ([#712](https://github.com/ethpandaops/ethereum-package/issues/712)) ([0ed1c9c](https://github.com/ethpandaops/ethereum-package/commit/0ed1c9c8e974f7c6900f68679602d95cfcb17831))
* change churn limit default for pectra tests ([#747](https://github.com/ethpandaops/ethereum-package/issues/747)) ([8109054](https://github.com/ethpandaops/ethereum-package/commit/8109054e20121092ad5ad3eebbf1a16a20677887))
* correctly apply extra params if builder is enabled ([#725](https://github.com/ethpandaops/ethereum-package/issues/725)) ([a94caf0](https://github.com/ethpandaops/ethereum-package/commit/a94caf02c327347a7e6b4ed2f99badb787a25dc7))
* disable all assertoor tests by default ([#738](https://github.com/ethpandaops/ethereum-package/issues/738)) ([2961f96](https://github.com/ethpandaops/ethereum-package/commit/2961f969402b3f3dbf6f584e74644cf32cfd7902))
* lodestar vc faster startup ([#721](https://github.com/ethpandaops/ethereum-package/issues/721)) ([225e3d8](https://github.com/ethpandaops/ethereum-package/commit/225e3d80fe0389f6a22c88a56075ad86a1ae2b00))
* readme eof ([#739](https://github.com/ethpandaops/ethereum-package/issues/739)) ([7f94f6e](https://github.com/ethpandaops/ethereum-package/commit/7f94f6e2fefe21e11edb7cf5dc827e3f486afe98))
* remove custom peerdas images for dora & assertoor ([#741](https://github.com/ethpandaops/ethereum-package/issues/741)) ([a19398d](https://github.com/ethpandaops/ethereum-package/commit/a19398decc892ba6749284495891184de987cab0))
* remove subscribe all subnet nimbus ([#719](https://github.com/ethpandaops/ethereum-package/issues/719)) ([ef92f8f](https://github.com/ethpandaops/ethereum-package/commit/ef92f8f45e4e32d0e2b9711ca9671ff5d1bcab00))
* remove subscribe-all-subnets from default prysm config ([#717](https://github.com/ethpandaops/ethereum-package/issues/717)) ([6348c0b](https://github.com/ethpandaops/ethereum-package/commit/6348c0b4c0b8a03a27cdf8a5fa8615b0ab323d7b))
* remove subscribe-all-subnets lighthouse/lodestar/teku ([#720](https://github.com/ethpandaops/ethereum-package/issues/720)) ([cdb20e1](https://github.com/ethpandaops/ethereum-package/commit/cdb20e18110e3c85817adc7e970d4b4cbd445feb))
* update snapshots URL ([#731](https://github.com/ethpandaops/ethereum-package/issues/731)) ([f9269ad](https://github.com/ethpandaops/ethereum-package/commit/f9269ad7e7bc04fae486b340f8d189d3b965f4b2))
## [4.1.0](https://github.com/ethpandaops/ethereum-package/compare/4.0.0...4.1.0) (2024-07-03)
### Features
* add back k8s tests ([#699](https://github.com/ethpandaops/ethereum-package/issues/699)) ([d621cf0](https://github.com/ethpandaops/ethereum-package/commit/d621cf0a4936c40778e492bb307fef990477aa52))
* add checkpoint_enabled and checkpoint_url flags ([#689](https://github.com/ethpandaops/ethereum-package/issues/689)) ([b8cd2b4](https://github.com/ethpandaops/ethereum-package/commit/b8cd2b4574d4f8defa343532a7725b9ae3be692b))
* add eof support ([#682](https://github.com/ethpandaops/ethereum-package/issues/682)) ([cb203ff](https://github.com/ethpandaops/ethereum-package/commit/cb203ff1e9929529570f4dc59b7b3cb6022ff670))
* add mev relays to dora config ([#679](https://github.com/ethpandaops/ethereum-package/issues/679)) ([293001a](https://github.com/ethpandaops/ethereum-package/commit/293001a1e116e7e727d19ed42ba3e7113171f561))
* Add static ports ([#677](https://github.com/ethpandaops/ethereum-package/issues/677)) ([4f054d0](https://github.com/ethpandaops/ethereum-package/commit/4f054d0566c1a8a8f90a5436d022cd5fe36d7c3c))
* add ws_url to el_context ([#696](https://github.com/ethpandaops/ethereum-package/issues/696)) ([26fea61](https://github.com/ethpandaops/ethereum-package/commit/26fea619789253f73c1f53eb9478347bb908387a))
* introduce devnet_repo override ([#686](https://github.com/ethpandaops/ethereum-package/issues/686)) ([9952361](https://github.com/ethpandaops/ethereum-package/commit/99523611622dbbefc2a523e6b011e63487b1cbf7))
* use CDN URL for data snapshots used for shadow forks ([#676](https://github.com/ethpandaops/ethereum-package/issues/676)) ([91dc68c](https://github.com/ethpandaops/ethereum-package/commit/91dc68c9e709729e2a8c2fa59f48d8901eb49bb5))
### Bug Fixes
* besu bonsai log disable ([#673](https://github.com/ethpandaops/ethereum-package/issues/673)) ([955f19f](https://github.com/ethpandaops/ethereum-package/commit/955f19f8a79eda7d3d645c0c3d3a822705f10a7d))
* blockscout bad return ([#685](https://github.com/ethpandaops/ethereum-package/issues/685)) ([e80870b](https://github.com/ethpandaops/ethereum-package/commit/e80870b3f955d5e350e3b14ab8ea2e49fa8d2f48))
* bump peerdas images ([#678](https://github.com/ethpandaops/ethereum-package/issues/678)) ([1acc201](https://github.com/ethpandaops/ethereum-package/commit/1acc201cbb7314c593963e042796e4d93ceaf960))
* DNS-1035 label ([#697](https://github.com/ethpandaops/ethereum-package/issues/697)) ([440fb31](https://github.com/ethpandaops/ethereum-package/commit/440fb319084fc8ea16f961410162d35290deeb22))
* ephemery genesis loader ([#700](https://github.com/ethpandaops/ethereum-package/issues/700)) ([0235063](https://github.com/ethpandaops/ethereum-package/commit/023506362d489124d88f1d2b15408f08fbdd173e))
* ignore bootnodes if in shadowfork ([#660](https://github.com/ethpandaops/ethereum-package/issues/660)) ([cda5dda](https://github.com/ethpandaops/ethereum-package/commit/cda5ddac51e4ce2228f2a4da1d242b2fcb7eeccd))
* minimal eof ([#687](https://github.com/ethpandaops/ethereum-package/issues/687)) ([26a7618](https://github.com/ethpandaops/ethereum-package/commit/26a76187cd65114640764cc4eefc4a6c7517b57a))
* release please manifest ([#675](https://github.com/ethpandaops/ethereum-package/issues/675)) ([75ed7e1](https://github.com/ethpandaops/ethereum-package/commit/75ed7e18309d1d3884e222abcd097366649288cc))
* remove docker login ([#701](https://github.com/ethpandaops/ethereum-package/issues/701)) ([ede5962](https://github.com/ethpandaops/ethereum-package/commit/ede596266d2a0fe8af0e1bf21c6a09e4685b67a5))
* return empty services ([#688](https://github.com/ethpandaops/ethereum-package/issues/688)) ([6571a70](https://github.com/ethpandaops/ethereum-package/commit/6571a70bccb310957d531daea6685f641469b546))
* return the correct network_id ([#705](https://github.com/ethpandaops/ethereum-package/issues/705)) ([7c592f6](https://github.com/ethpandaops/ethereum-package/commit/7c592f6741718c20bdce4bd3bd6035b3ce37f38d))
## [4.0.0](https://github.com/ethpandaops/ethereum-package/compare/3.1.0...v4.0.0) (2024-06-13)
### ⚠ BREAKING CHANGES
* migrate from kurtosis-tech to ethpandaops repository ([#663](https://github.com/ethpandaops/ethereum-package/issues/663))
### Features
* add names to run-sh ([#666](https://github.com/ethpandaops/ethereum-package/issues/666)) ([6b447b7](https://github.com/ethpandaops/ethereum-package/commit/6b447b7254ce1e9d7a2383eb1a0b9435bbabf237))
* Adding arbitrary contract definition ([#646](https://github.com/ethpandaops/ethereum-package/issues/646)) ([cb58b65](https://github.com/ethpandaops/ethereum-package/commit/cb58b65911828b333c2aabf9052e30d79a8a55aa))
* migrate from kurtosis-tech to ethpandaops repository ([#663](https://github.com/ethpandaops/ethereum-package/issues/663)) ([d980fee](https://github.com/ethpandaops/ethereum-package/commit/d980feedac0fbe6a18a6b699f62d3f3275657b16))
* update Lodestar BN <> VC compatibility ([#664](https://github.com/ethpandaops/ethereum-package/issues/664)) ([7f365da](https://github.com/ethpandaops/ethereum-package/commit/7f365da6607bd863b12170ed475b77f4fafcc146))
### Bug Fixes
* permissions on autorelease ([#671](https://github.com/ethpandaops/ethereum-package/issues/671)) ([fcaa2c2](https://github.com/ethpandaops/ethereum-package/commit/fcaa2c23301c0f7012301fe019a75b0fa369961b))
* update release please ([#670](https://github.com/ethpandaops/ethereum-package/issues/670)) ([fa53672](https://github.com/ethpandaops/ethereum-package/commit/fa536729886fa911ce4778b6d4097e2fb69a6c06))
## [3.1.0](https://github.com/kurtosis-tech/ethereum-package/compare/3.0.0...3.1.0) (2024-06-07)
### Features
* add http url to el context ([#656](https://github.com/kurtosis-tech/ethereum-package/issues/656)) ([4e69a4c](https://github.com/kurtosis-tech/ethereum-package/commit/4e69a4c057c600d479879691837ba2ef7f683a34))
* add prefunded accounts to output ([#657](https://github.com/kurtosis-tech/ethereum-package/issues/657)) ([bc06e2a](https://github.com/kurtosis-tech/ethereum-package/commit/bc06e2a4e93add97c75c5b520b87a6b9863a9faf))
* add tracoor ([#651](https://github.com/kurtosis-tech/ethereum-package/issues/651)) ([b100cb6](https://github.com/kurtosis-tech/ethereum-package/commit/b100cb6fac5646783c0ee580ec3425fd74e0e4a1))
* add vc_count to increase the number of validators per participant ([#633](https://github.com/kurtosis-tech/ethereum-package/issues/633)) ([4272ff3](https://github.com/kurtosis-tech/ethereum-package/commit/4272ff3e27be1c85fd5e8e606b956ea31c0ae3b9))
* allow setting custom dora image & env variables ([#623](https://github.com/kurtosis-tech/ethereum-package/issues/623)) ([08a65c3](https://github.com/kurtosis-tech/ethereum-package/commit/08a65c33b645a1dc656feb0671513d9bf1b84c66))
* **apache:** Serve all config files ([#606](https://github.com/kurtosis-tech/ethereum-package/issues/606)) ([3f1f5e1](https://github.com/kurtosis-tech/ethereum-package/commit/3f1f5e118e5d125ec108a40f0edc0b0617a60b5f))
* **config:** add peerdas vars ([#619](https://github.com/kurtosis-tech/ethereum-package/issues/619)) ([22f1498](https://github.com/kurtosis-tech/ethereum-package/commit/22f1498a3d344150827a2393df3e3ff0c693a6ff))
* expose network-params ([#659](https://github.com/kurtosis-tech/ethereum-package/issues/659)) ([b0820dd](https://github.com/kurtosis-tech/ethereum-package/commit/b0820ddae77e7d45d090c00e47aa3e8d3832e194))
* forky ([#625](https://github.com/kurtosis-tech/ethereum-package/issues/625)) ([ded68bd](https://github.com/kurtosis-tech/ethereum-package/commit/ded68bdc73dbb0e166ef8e02dc3ab577066d0214))
* Support participants_matrix ([#620](https://github.com/kurtosis-tech/ethereum-package/issues/620)) ([3a57467](https://github.com/kurtosis-tech/ethereum-package/commit/3a57467519ca20a519985ce2e2257c3694dc4fde))
* use `peer-das` image for dora when eip7594 is active ([#593](https://github.com/kurtosis-tech/ethereum-package/issues/593)) ([1b4bd3d](https://github.com/kurtosis-tech/ethereum-package/commit/1b4bd3d1478839474a26d163312e99a810399b1b))
### Bug Fixes
* add additional prefund addresses ([#655](https://github.com/kurtosis-tech/ethereum-package/issues/655)) ([6d2cdb6](https://github.com/kurtosis-tech/ethereum-package/commit/6d2cdb6982da76f95bdde2b7930fbea9117016b8))
* add cl log level to builders ([#638](https://github.com/kurtosis-tech/ethereum-package/issues/638)) ([ad46dbd](https://github.com/kurtosis-tech/ethereum-package/commit/ad46dbdf8babbc5bf6a5aae9ee9ee4be54491a92))
* Add EIP-7002 & EIP-2935 bytecode to ethereum-genesis-generator ([#597](https://github.com/kurtosis-tech/ethereum-package/issues/597)) ([3d316ef](https://github.com/kurtosis-tech/ethereum-package/commit/3d316ef631b038355b88d23024d19086699bd452))
* add http to teku endpoint ([#622](https://github.com/kurtosis-tech/ethereum-package/issues/622)) ([085b6e1](https://github.com/kurtosis-tech/ethereum-package/commit/085b6e126fc0ccf98431d74f56e9965fa8b1f665))
* add peer_das_epoch to egg ([#603](https://github.com/kurtosis-tech/ethereum-package/issues/603)) ([91694df](https://github.com/kurtosis-tech/ethereum-package/commit/91694dfc1e8b64ac76b7dfda006f19db358941fa))
* add sha256 as an image label (if present) ([#637](https://github.com/kurtosis-tech/ethereum-package/issues/637)) ([3dcf888](https://github.com/kurtosis-tech/ethereum-package/commit/3dcf888326266aaba38f8253e47b3dd85a457cd0))
* add static port config for apache ([#608](https://github.com/kurtosis-tech/ethereum-package/issues/608)) ([b96e502](https://github.com/kurtosis-tech/ethereum-package/commit/b96e502145010694579d7b938a8112e0311ecb8b))
* **apache:** only set static port if wanted ([#610](https://github.com/kurtosis-tech/ethereum-package/issues/610)) ([2c6b7b1](https://github.com/kurtosis-tech/ethereum-package/commit/2c6b7b1af7b7513adf46394b9138f726a57f9e38))
* blockscout fix for json variant ([#662](https://github.com/kurtosis-tech/ethereum-package/issues/662)) ([e79c510](https://github.com/kurtosis-tech/ethereum-package/commit/e79c5101f44ca3a5bd70f16b2cf24976db8e555e))
* churn adjustments ([#614](https://github.com/kurtosis-tech/ethereum-package/issues/614)) ([12ca872](https://github.com/kurtosis-tech/ethereum-package/commit/12ca8721b42e000bcf8b6624a0b3c7b6cbde57bd))
* default config ([#632](https://github.com/kurtosis-tech/ethereum-package/issues/632)) ([14be117](https://github.com/kurtosis-tech/ethereum-package/commit/14be117598bca0d733cb8b1dc439abdde5be8ae1))
* drop everythign after [@sha](https://github.com/sha) from image labels ([#636](https://github.com/kurtosis-tech/ethereum-package/issues/636)) ([5d35463](https://github.com/kurtosis-tech/ethereum-package/commit/5d35463853b6bb7e58112b5df246660c8d1bd02d))
* erigon v3 - new default image ([#629](https://github.com/kurtosis-tech/ethereum-package/issues/629)) ([72cf150](https://github.com/kurtosis-tech/ethereum-package/commit/72cf150c580addc00c1ca0693b568d62b06118a1))
* genesis generator bump ([#611](https://github.com/kurtosis-tech/ethereum-package/issues/611)) ([5460f6f](https://github.com/kurtosis-tech/ethereum-package/commit/5460f6fc26972fe576ef89d521d5251470e65b5e))
* nightly tests ([#595](https://github.com/kurtosis-tech/ethereum-package/issues/595)) ([76c31e9](https://github.com/kurtosis-tech/ethereum-package/commit/76c31e91d830490c956321cc2f6b3301a8d6fd27))
* pectra example ([#605](https://github.com/kurtosis-tech/ethereum-package/issues/605)) ([67e3da0](https://github.com/kurtosis-tech/ethereum-package/commit/67e3da0e0cf4314353d5cea806186530df54a1cd))
* prysm vc key manager ports ([#639](https://github.com/kurtosis-tech/ethereum-package/issues/639)) ([81c1ee7](https://github.com/kurtosis-tech/ethereum-package/commit/81c1ee70a56f910ecd6b710dd0fe3721d81b6dcf))
* re-add images to labels ([#634](https://github.com/kurtosis-tech/ethereum-package/issues/634)) ([71f6e28](https://github.com/kurtosis-tech/ethereum-package/commit/71f6e28e682e47a550ffef037c7b26ce836d96df))
* README has invalid configs ([#631](https://github.com/kurtosis-tech/ethereum-package/issues/631)) ([e33b971](https://github.com/kurtosis-tech/ethereum-package/commit/e33b97171f1aedb647191e3b02835a8004cbaade))
* readme indentation ([#600](https://github.com/kurtosis-tech/ethereum-package/issues/600)) ([583db1b](https://github.com/kurtosis-tech/ethereum-package/commit/583db1b4ebaa5ab2e5eb2f97aa7414f89376b022))
* registration flags when using beacon node only ([#618](https://github.com/kurtosis-tech/ethereum-package/issues/618)) ([c12506b](https://github.com/kurtosis-tech/ethereum-package/commit/c12506b9587c9a87e89d2938351d72c4676160e1))
* repair check workflow for external PRs ([#616](https://github.com/kurtosis-tech/ethereum-package/issues/616)) ([a584682](https://github.com/kurtosis-tech/ethereum-package/commit/a5846821563d318b993de48baab5e3a9c9e267d0))
* seperate vc service names ([#654](https://github.com/kurtosis-tech/ethereum-package/issues/654)) ([a5ffe14](https://github.com/kurtosis-tech/ethereum-package/commit/a5ffe14e7d3c9f7ec6dbebd79a4b42c24394c0f7))
* tune Besu options to work with tx_spammer ([#612](https://github.com/kurtosis-tech/ethereum-package/issues/612)) ([b395189](https://github.com/kurtosis-tech/ethereum-package/commit/b39518904fbf2cad5ca2ec18ce1bc18455207014))
* update dora images ([#598](https://github.com/kurtosis-tech/ethereum-package/issues/598)) ([dd28d61](https://github.com/kurtosis-tech/ethereum-package/commit/dd28d61a31bdc4c58c33ca733487535041f5ae0a))
* update prysm image ([#599](https://github.com/kurtosis-tech/ethereum-package/issues/599)) ([0a38114](https://github.com/kurtosis-tech/ethereum-package/commit/0a38114e8444837d7cff9aab9afe6b06e1c99d84))
* use `electra-support` image for assertoor when electra fork epoch is set ([#607](https://github.com/kurtosis-tech/ethereum-package/issues/607)) ([cdeab93](https://github.com/kurtosis-tech/ethereum-package/commit/cdeab939eda037770b89b580658a87817aac1158))
## [3.0.0](https://github.com/kurtosis-tech/ethereum-package/compare/2.2.0...3.0.0) (2024-05-06)
### ⚠ BREAKING CHANGES
* add mev-rs relay/builder/boost ([#586](https://github.com/kurtosis-tech/ethereum-package/issues/586))
* upcoming file path change in kurtosis upstream ([#582](https://github.com/kurtosis-tech/ethereum-package/issues/582))
### Features
* add apache file server ([#581](https://github.com/kurtosis-tech/ethereum-package/issues/581)) ([205256a](https://github.com/kurtosis-tech/ethereum-package/commit/205256a6d79303719973655b459e803d9b8e311f))
* add enr/enode to apache ([#589](https://github.com/kurtosis-tech/ethereum-package/issues/589)) ([b789e17](https://github.com/kurtosis-tech/ethereum-package/commit/b789e1705f076ec6aa01ceffbf5fbeebb02d8c0f))
* add execution client urls to dora config ([#588](https://github.com/kurtosis-tech/ethereum-package/issues/588)) ([2a20d5a](https://github.com/kurtosis-tech/ethereum-package/commit/2a20d5ad7d2bf8f9a9eb2b619681b438810176d2))
* add mev-rs relay/builder/boost ([#586](https://github.com/kurtosis-tech/ethereum-package/issues/586)) ([525a8fb](https://github.com/kurtosis-tech/ethereum-package/commit/525a8fb3d794f8030a574f55f3a7e719c1b58dca))
* Add peerdas support ([#591](https://github.com/kurtosis-tech/ethereum-package/issues/591)) ([14296ca](https://github.com/kurtosis-tech/ethereum-package/commit/14296cab11d8c7a9572cf57a37980e1d93285cad))
* add snooper urls to assertoor config ([#571](https://github.com/kurtosis-tech/ethereum-package/issues/571)) ([87f383f](https://github.com/kurtosis-tech/ethereum-package/commit/87f383fbc7f9e28d383853fcb7cd491abe13a0cc))
* allow setting exit ip address ([#584](https://github.com/kurtosis-tech/ethereum-package/issues/584)) ([aabc942](https://github.com/kurtosis-tech/ethereum-package/commit/aabc942c4e8534288f28cdbb1e9e55f2613f383c))
### Bug Fixes
* non-existent field access on error message ([#577](https://github.com/kurtosis-tech/ethereum-package/issues/577)) ([8515d27](https://github.com/kurtosis-tech/ethereum-package/commit/8515d276056a47f9e6a77dd498f823042bff1a8f))
* participant redefining global flag ([#573](https://github.com/kurtosis-tech/ethereum-package/issues/573)) ([9139f4b](https://github.com/kurtosis-tech/ethereum-package/commit/9139f4b4c77bc43477740972512171d7f28bfa84))
* path for shadowforks post kt update ([#585](https://github.com/kurtosis-tech/ethereum-package/issues/585)) ([e0622a7](https://github.com/kurtosis-tech/ethereum-package/commit/e0622a77305732e01ee0fce183fda15c3dcd2dad))
* remove erigon's --chain parameter ([#575](https://github.com/kurtosis-tech/ethereum-package/issues/575)) ([02b9c50](https://github.com/kurtosis-tech/ethereum-package/commit/02b9c50495f9b8cce0b0df502f19b37c0cb21ffd))
* upcoming file path change in kurtosis upstream ([#582](https://github.com/kurtosis-tech/ethereum-package/issues/582)) ([8d7c4f9](https://github.com/kurtosis-tech/ethereum-package/commit/8d7c4f9c1feba07511c22d006b5121b45893f642))
## [2.2.0](https://github.com/kurtosis-tech/ethereum-package/compare/2.1.0...2.2.0) (2024-04-19)
### Features
* add assertoor test for per PR CI job ([#537](https://github.com/kurtosis-tech/ethereum-package/issues/537)) ([8ef5c57](https://github.com/kurtosis-tech/ethereum-package/commit/8ef5c57fc00b1e5ea9d59011fa61d771b1af5133))
* add blutgang rpc load balancer ([#569](https://github.com/kurtosis-tech/ethereum-package/issues/569)) ([1be5f95](https://github.com/kurtosis-tech/ethereum-package/commit/1be5f9542cf43b7b5afc3f565358b50dfbb81d50))
* add dugtrio beacon load balancer ([#568](https://github.com/kurtosis-tech/ethereum-package/issues/568)) ([56d2fa3](https://github.com/kurtosis-tech/ethereum-package/commit/56d2fa38e59018fa331c12a271a906ec4fe67e6e))
* add new assertoor test to per ci jobs ([#545](https://github.com/kurtosis-tech/ethereum-package/issues/545)) ([3005d46](https://github.com/kurtosis-tech/ethereum-package/commit/3005d46d60970be18e66f6a7f590d0b4689e84f4))
* use new rpc snooper from `ethpandaops/rpc-snooper` ([#567](https://github.com/kurtosis-tech/ethereum-package/issues/567)) ([5676f0d](https://github.com/kurtosis-tech/ethereum-package/commit/5676f0dd4d62ee25a7f8ca2959596e419743916d))
### Bug Fixes
* add --contract-deployment-block parameter for Prysm ([#557](https://github.com/kurtosis-tech/ethereum-package/issues/557)) ([d8dfbae](https://github.com/kurtosis-tech/ethereum-package/commit/d8dfbae531c038e3985cb15ca6bcbcf37f6526a0))
* Added '--enable-private-discovery' to Grandine ([#541](https://github.com/kurtosis-tech/ethereum-package/issues/541)) ([a1ae708](https://github.com/kurtosis-tech/ethereum-package/commit/a1ae708183873dec97e91986d6104c8dedc92100))
* beaconchain explorer ([#531](https://github.com/kurtosis-tech/ethereum-package/issues/531)) ([b62ed6f](https://github.com/kurtosis-tech/ethereum-package/commit/b62ed6f129c65b62f084ea2a78fab0fa80afd9e2))
* beaconchain explorer ([#538](https://github.com/kurtosis-tech/ethereum-package/issues/538)) ([ce1f337](https://github.com/kurtosis-tech/ethereum-package/commit/ce1f3373000d552a9b4b8b09ad5754ab092a61cb))
* blobber incorrect url ([#528](https://github.com/kurtosis-tech/ethereum-package/issues/528)) ([6f84e3d](https://github.com/kurtosis-tech/ethereum-package/commit/6f84e3d5ec5fd7c02016530b3b64c79114d5891e))
* bump json rpc snooper ([#553](https://github.com/kurtosis-tech/ethereum-package/issues/553)) ([f69c4a7](https://github.com/kurtosis-tech/ethereum-package/commit/f69c4a7468f97a4aa3aaea64dd18a63e561a6704))
* disable full sync if gcmode is archive ([#563](https://github.com/kurtosis-tech/ethereum-package/issues/563)) ([b7592ec](https://github.com/kurtosis-tech/ethereum-package/commit/b7592ecac5ca8820aa6de6fc5ae9bb9c0dc27c20))
* disable pbss when gcmode archive set ([#559](https://github.com/kurtosis-tech/ethereum-package/issues/559)) ([e085462](https://github.com/kurtosis-tech/ethereum-package/commit/e0854624ef69a069bb7ba482694cb83180df0680))
* disable pbss when gcmode archive set, force hash based init ([#562](https://github.com/kurtosis-tech/ethereum-package/issues/562)) ([3e1c7a6](https://github.com/kurtosis-tech/ethereum-package/commit/3e1c7a6585a50398e5750f6e37cf3d0685d35536))
* disable static peers ([#529](https://github.com/kurtosis-tech/ethereum-package/issues/529)) ([c5d4028](https://github.com/kurtosis-tech/ethereum-package/commit/c5d4028939691b887b928b91532f8139478ee4d2))
* enable single node mode on lodestar by default ([#558](https://github.com/kurtosis-tech/ethereum-package/issues/558)) ([555ad7d](https://github.com/kurtosis-tech/ethereum-package/commit/555ad7dc5180cc7f47e14baa3438879e6d4779e9))
* fix doc string typo ([#560](https://github.com/kurtosis-tech/ethereum-package/issues/560)) ([13de3f6](https://github.com/kurtosis-tech/ethereum-package/commit/13de3f68706a80088b28fbfefc69d738e06d13ef))
* fix failing persistence test ([#554](https://github.com/kurtosis-tech/ethereum-package/issues/554)) ([99242d6](https://github.com/kurtosis-tech/ethereum-package/commit/99242d66f3e0254684b75bce14353a854e735721))
* increase mem limit of snooper ([#546](https://github.com/kurtosis-tech/ethereum-package/issues/546)) ([6ba5770](https://github.com/kurtosis-tech/ethereum-package/commit/6ba577006e6f6eb0b477619399edb232f4ed9783))
* prysm beacon http url ([#536](https://github.com/kurtosis-tech/ethereum-package/issues/536)) ([4914531](https://github.com/kurtosis-tech/ethereum-package/commit/4914531690eae32ba274e10ee7fa0ecf6d82ac68))
* prysm beacon_http_url ([#535](https://github.com/kurtosis-tech/ethereum-package/issues/535)) ([ee7528c](https://github.com/kurtosis-tech/ethereum-package/commit/ee7528c5d5872768e7ddc25e9da963e764e3b594))
* prysm vc ([#533](https://github.com/kurtosis-tech/ethereum-package/issues/533)) ([72ddeb2](https://github.com/kurtosis-tech/ethereum-package/commit/72ddeb25c1bb0a8132c1a3a73bd8f7764cb01659))
* remove un-needed prysm vc check ([#542](https://github.com/kurtosis-tech/ethereum-package/issues/542)) ([f6326fe](https://github.com/kurtosis-tech/ethereum-package/commit/f6326fe2119648478ab1bfc90220cbd4b4e12cac))
* set application protocol to be http for rpc ([#548](https://github.com/kurtosis-tech/ethereum-package/issues/548)) ([905de7c](https://github.com/kurtosis-tech/ethereum-package/commit/905de7c3635c3c057f67ae6589d708d9dc6d5ddd))
* set the correct default vc image ([#544](https://github.com/kurtosis-tech/ethereum-package/issues/544)) ([953741d](https://github.com/kurtosis-tech/ethereum-package/commit/953741d824a4a76a1194c2643012bf738669c3ad))
* uniformize keymanager ([#534](https://github.com/kurtosis-tech/ethereum-package/issues/534)) ([a6a2830](https://github.com/kurtosis-tech/ethereum-package/commit/a6a2830e90919999c6c391e9aa832094cf440d35))
* update prometheus api ([#539](https://github.com/kurtosis-tech/ethereum-package/issues/539)) ([d2b9fb8](https://github.com/kurtosis-tech/ethereum-package/commit/d2b9fb8961eac8a712af36f49ac8a1f918dabb6b))
* update vc <> cl matrix ([#564](https://github.com/kurtosis-tech/ethereum-package/issues/564)) ([0ffcf74](https://github.com/kurtosis-tech/ethereum-package/commit/0ffcf74cf3a83b0c462bc26d07254160b132b27a))
* update vc compatibility matrix ([#543](https://github.com/kurtosis-tech/ethereum-package/issues/543)) ([58c4684](https://github.com/kurtosis-tech/ethereum-package/commit/58c4684594711ee58bf117c31d5cf688d476892e))
* use `minimal-preset` images for dora & assertoor when minimal preset is used ([#532](https://github.com/kurtosis-tech/ethereum-package/issues/532)) ([ad7773e](https://github.com/kurtosis-tech/ethereum-package/commit/ad7773e86f1e1bb1f48b96e5126231fd060822e8))
## [2.1.0](https://github.com/kurtosis-tech/ethereum-package/compare/2.0.0...2.1.0) (2024-03-28)
### Features
* add beacon snooper ([#520](https://github.com/kurtosis-tech/ethereum-package/issues/520)) ([7e36191](https://github.com/kurtosis-tech/ethereum-package/commit/7e361913c754ddf37eaf2cf3ad4a93aed8770899))
* add BN<>CL compatibility matrix to readme ([#519](https://github.com/kurtosis-tech/ethereum-package/issues/519)) ([177beeb](https://github.com/kurtosis-tech/ethereum-package/commit/177beeb9b46f61b3dd3dc3009ff2abf9b576c569))
* add grandine ([#517](https://github.com/kurtosis-tech/ethereum-package/issues/517)) ([3ac4d2a](https://github.com/kurtosis-tech/ethereum-package/commit/3ac4d2a4fae1c33ff658f0f43657a09522348127))
* enable preset to be set, mainnet/minimal ([#524](https://github.com/kurtosis-tech/ethereum-package/issues/524)) ([f6e1b13](https://github.com/kurtosis-tech/ethereum-package/commit/f6e1b136ef6b884e540c1289b8acc2b4d359e6ce))
* make deneb genesis default ([#518](https://github.com/kurtosis-tech/ethereum-package/issues/518)) ([49509b9](https://github.com/kurtosis-tech/ethereum-package/commit/49509b9ecb8b00d361e4119ee053ba86c366619e))
* make keymanager optional ([#523](https://github.com/kurtosis-tech/ethereum-package/issues/523)) ([969012c](https://github.com/kurtosis-tech/ethereum-package/commit/969012c3b504be1c475bd583675857d0605ed430))
* update verkle genesis + add besu support to verkle testing ([#512](https://github.com/kurtosis-tech/ethereum-package/issues/512)) ([0615cd1](https://github.com/kurtosis-tech/ethereum-package/commit/0615cd1b4466d8f63e3adb721d97ee768211114f))
### Bug Fixes
* architecture.md ([#514](https://github.com/kurtosis-tech/ethereum-package/issues/514)) ([f0ec4f0](https://github.com/kurtosis-tech/ethereum-package/commit/f0ec4f076837b282a8972bd2211a0522ed67a06b))
* blobscan network name ([#516](https://github.com/kurtosis-tech/ethereum-package/issues/516)) ([83c2a55](https://github.com/kurtosis-tech/ethereum-package/commit/83c2a5592445c0efc10ab418d87ab2ecd4d10cf4))
* **blobscan:** update healthcheck endpoint ([#513](https://github.com/kurtosis-tech/ethereum-package/issues/513)) ([8b2fc61](https://github.com/kurtosis-tech/ethereum-package/commit/8b2fc61f77b53642441d3bd0bdeea89b2a2d35eb))
* separate vc ([#526](https://github.com/kurtosis-tech/ethereum-package/issues/526)) ([baa04e9](https://github.com/kurtosis-tech/ethereum-package/commit/baa04e9118f39b10ed7d867eec164483c6fd807d))
* Updated Readme with VCs supported by Grandine BN ([#527](https://github.com/kurtosis-tech/ethereum-package/issues/527)) ([9cbe0b3](https://github.com/kurtosis-tech/ethereum-package/commit/9cbe0b368205f70ee274d9c0c57f634f9621e6d7))
* use correct dora & assertoor images ([#522](https://github.com/kurtosis-tech/ethereum-package/issues/522)) ([2a8d73a](https://github.com/kurtosis-tech/ethereum-package/commit/2a8d73aba35bf26bfcd474036bac32c4f5713e35))
* use new validator names in assertoor config ([#521](https://github.com/kurtosis-tech/ethereum-package/issues/521)) ([f595eb9](https://github.com/kurtosis-tech/ethereum-package/commit/f595eb9a75e8c2147d530d1a70e6ccb9f3542257))
## [2.0.0](https://github.com/kurtosis-tech/ethereum-package/compare/1.4.0...2.0.0) (2024-03-08)
### ⚠ BREAKING CHANGES
* participant_network & rename participant fields. ([#508](https://github.com/kurtosis-tech/ethereum-package/issues/508))
* add node selectors features ([#491](https://github.com/kurtosis-tech/ethereum-package/issues/491))
### Features
* add keymanager to all validator processes ([#502](https://github.com/kurtosis-tech/ethereum-package/issues/502)) ([836eda4](https://github.com/kurtosis-tech/ethereum-package/commit/836eda4eed3776dd406d354343655c0ff8b9d2b6))
* add nimbus-eth1 ([#496](https://github.com/kurtosis-tech/ethereum-package/issues/496)) ([d599729](https://github.com/kurtosis-tech/ethereum-package/commit/d599729295aa3274d23e4e8e99b56288cde3fc04))
* add node selectors features ([#491](https://github.com/kurtosis-tech/ethereum-package/issues/491)) ([316d42f](https://github.com/kurtosis-tech/ethereum-package/commit/316d42fbaeb2d7bc1d580823a6c70b1c2dfe3746))
* allow more detailed additional test configurations in assertoor_params ([#498](https://github.com/kurtosis-tech/ethereum-package/issues/498)) ([fe2de7e](https://github.com/kurtosis-tech/ethereum-package/commit/fe2de7e5a5e2446ebb0a0b191f5aa6783e132426))
* enable api in assertoor config ([#495](https://github.com/kurtosis-tech/ethereum-package/issues/495)) ([9ceae9c](https://github.com/kurtosis-tech/ethereum-package/commit/9ceae9c74405db4e1ab6e02de541577d078434ae))
* enable dencun-genesis ([#500](https://github.com/kurtosis-tech/ethereum-package/issues/500)) ([beb764f](https://github.com/kurtosis-tech/ethereum-package/commit/beb764fb9a18fcb09cb7d3d9ee48e4826595512d))
* make snapshot url configurable ([#507](https://github.com/kurtosis-tech/ethereum-package/issues/507)) ([6fa0475](https://github.com/kurtosis-tech/ethereum-package/commit/6fa04751cd1277a4870dc45144e15ffa5d637b93))
* parameterize mev-boost args ([#400](https://github.com/kurtosis-tech/ethereum-package/issues/400)) ([e48483a](https://github.com/kurtosis-tech/ethereum-package/commit/e48483a130ba227dafd0d0fd9ee66c6cecc3bfce))
* separate validator clients from CL clients ([#497](https://github.com/kurtosis-tech/ethereum-package/issues/497)) ([90da2c3](https://github.com/kurtosis-tech/ethereum-package/commit/90da2c33a77b4a0ac620ae665899963256a1ae0a))
### Bug Fixes
* fix end index in validator ranges file ([#509](https://github.com/kurtosis-tech/ethereum-package/issues/509)) ([da55be8](https://github.com/kurtosis-tech/ethereum
gitextract_qx2a8ttp/ ├── .claude/ │ └── skills/ │ └── kurtosis-ethereum/ │ ├── SKILL.md │ └── kurtosis-ref.sh ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── bug-report.md │ ├── actions/ │ │ ├── docker-login/ │ │ │ └── action.yaml │ │ └── kurtosis-install/ │ │ └── action.yaml │ ├── check-consensus-spec-values.py │ ├── dependabot.yml │ ├── remove_trailing_space.py │ ├── tests/ │ │ ├── 1gpu_zkvm.yaml_norun │ │ ├── 8gpu_zkvm.yaml_norun │ │ ├── altair-genesis.yaml │ │ ├── archive-storage.yaml.norun │ │ ├── assertoor.yaml │ │ ├── bal-devnet-0.yaml_norun │ │ ├── bellatrix-genesis.yaml │ │ ├── besu-all.yaml │ │ ├── binary.yaml_norun │ │ ├── binary_force.yaml_norun │ │ ├── blobber.yaml │ │ ├── bootnodoor.yaml │ │ ├── capella-genesis.yaml │ │ ├── caplin-basic.yaml │ │ ├── consensoor-basic.yaml │ │ ├── custom-contracts.yaml │ │ ├── custom-mnemonics.yaml │ │ ├── deneb-genesis.yaml │ │ ├── deneb.yaml │ │ ├── disable-peer-scoring.yaml │ │ ├── dummy-el.yaml │ │ ├── electra-genesis.yaml │ │ ├── ephemery.yaml │ │ ├── erigon-all.yaml │ │ ├── erpc.yaml │ │ ├── ethereumjs-all.yaml.norun │ │ ├── ethrex.yaml │ │ ├── force.yaml │ │ ├── full-storage.yaml.norun │ │ ├── fulu-genesis.yaml │ │ ├── fulu-mev.yaml │ │ ├── fulu.yaml │ │ ├── geth-all.yaml │ │ ├── grandine-all.yaml │ │ ├── hoodi-shadowfork.yaml_norun │ │ ├── hoodi-shadowfork_at_height.yaml_norun │ │ ├── lighthouse-all.yaml │ │ ├── lodestar-all.yaml │ │ ├── mainnet-split.yaml.norun │ │ ├── mainnet.yaml.norun │ │ ├── mempool_bridge.yaml │ │ ├── mev-buildoor.yaml │ │ ├── mev-commit-boost.yaml │ │ ├── mev-helix.yaml │ │ ├── mev-mock.yaml │ │ ├── mev-multiple-relays.yaml │ │ ├── mev.yaml │ │ ├── minimal-fulu.yaml │ │ ├── minimal-mev.yaml │ │ ├── minimal.yaml │ │ ├── mix-assert.yaml │ │ ├── mix-persistence-k8s.yaml │ │ ├── mix-persistence.yaml │ │ ├── mix-public.yaml │ │ ├── mix-with-tools-mev.yaml │ │ ├── mix-with-tools-minimal.yaml │ │ ├── mix-with-tools.yaml │ │ ├── mix.yaml │ │ ├── mixed-cl-vc.yml │ │ ├── multi-beacon.yaml │ │ ├── nethermind-all.yaml │ │ ├── nimbus-all.yaml │ │ ├── nimbus-eth1-all.yaml │ │ ├── nimbus-mev.yaml │ │ ├── node-selectors.yaml │ │ ├── parallel-keystores.yaml │ │ ├── participants-matrix.yaml │ │ ├── phase0-genesis.yaml │ │ ├── preregistered_validator_count.yaml │ │ ├── prysm-all.yaml │ │ ├── rakoon.yaml │ │ ├── remote-signer.yaml │ │ ├── reth-all.yaml │ │ ├── sepolia-mix.yaml │ │ ├── skip.yaml │ │ ├── split-nimbus.yaml │ │ ├── split-teku.yaml │ │ ├── teku-all.yaml │ │ ├── tolerations.yaml │ │ ├── vero-all.yaml │ │ └── zkboost.yaml │ └── workflows/ │ ├── check-consensus-spec-values.yml │ ├── check-typos.yml │ ├── conventional-pr-title-checker.yml │ ├── nightly.yml │ ├── per-pr.yml │ ├── release-please.yml │ └── run-k8s.yml ├── .gitignore ├── .release-please-manifest.json ├── .typos.toml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── _typos.toml ├── docs/ │ └── architecture.md ├── examples/ │ └── README.md ├── kurtosis.yml ├── main.star ├── network_params.yaml ├── release-please-config.json ├── rename.sh ├── src/ │ ├── apache/ │ │ └── apache_launcher.star │ ├── assertoor/ │ │ └── assertoor_launcher.star │ ├── blobber/ │ │ ├── blobber_context.star │ │ └── blobber_launcher.star │ ├── blobscan/ │ │ └── blobscan_launcher.star │ ├── blockscout/ │ │ └── blockscout_launcher.star │ ├── blutgang/ │ │ └── blutgang_launcher.star │ ├── bootnodoor/ │ │ └── bootnodoor_launcher.star │ ├── broadcaster/ │ │ └── broadcaster.star │ ├── checkpointz/ │ │ └── checkpointz_launcher.star │ ├── cl/ │ │ ├── caplin/ │ │ │ └── caplin_launcher.star │ │ ├── cl_context.star │ │ ├── cl_launcher.star │ │ ├── cl_node_ready_conditions.star │ │ ├── cl_shared.star │ │ ├── consensoor/ │ │ │ └── consensoor_launcher.star │ │ ├── grandine/ │ │ │ └── grandine_launcher.star │ │ ├── lighthouse/ │ │ │ └── lighthouse_launcher.star │ │ ├── lodestar/ │ │ │ └── lodestar_launcher.star │ │ ├── nimbus/ │ │ │ └── nimbus_launcher.star │ │ ├── prysm/ │ │ │ └── prysm_launcher.star │ │ └── teku/ │ │ └── teku_launcher.star │ ├── dora/ │ │ └── dora_launcher.star │ ├── dugtrio/ │ │ └── dugtrio_launcher.star │ ├── el/ │ │ ├── besu/ │ │ │ └── besu_launcher.star │ │ ├── dummy/ │ │ │ └── dummy_launcher.star │ │ ├── el_admin_node_info.star │ │ ├── el_context.star │ │ ├── el_launcher.star │ │ ├── el_shared.star │ │ ├── erigon/ │ │ │ └── erigon_launcher.star │ │ ├── ethereumjs/ │ │ │ └── ethereumjs_launcher.star │ │ ├── ethrex/ │ │ │ └── ethrex_launcher.star │ │ ├── geth/ │ │ │ └── geth_launcher.star │ │ ├── nethermind/ │ │ │ └── nethermind_launcher.star │ │ ├── nimbus-eth1/ │ │ │ └── nimbus_launcher.star │ │ └── reth/ │ │ └── reth_launcher.star │ ├── erpc/ │ │ └── erpc_launcher.star │ ├── ethereum_metrics_exporter/ │ │ ├── ethereum_metrics_exporter_context.star │ │ └── ethereum_metrics_exporter_launcher.star │ ├── forkmon/ │ │ └── forkmon_launcher.star │ ├── forky/ │ │ └── forky_launcher.star │ ├── full_beaconchain/ │ │ └── full_beaconchain_launcher.star │ ├── grafana/ │ │ └── grafana_launcher.star │ ├── mempool_bridge/ │ │ └── mempool_bridge_launcher.star │ ├── mev/ │ │ ├── buildoor/ │ │ │ └── buildoor_launcher.star │ │ ├── commit-boost/ │ │ │ └── mev_boost/ │ │ │ ├── mev_boost_context.star │ │ │ └── mev_boost_launcher.star │ │ ├── flashbots/ │ │ │ ├── mev_boost/ │ │ │ │ ├── mev_boost_context.star │ │ │ │ └── mev_boost_launcher.star │ │ │ ├── mev_builder/ │ │ │ │ └── mev_builder_launcher.star │ │ │ ├── mev_custom_flood/ │ │ │ │ ├── mev_custom_flood_launcher.star │ │ │ │ └── sender.py │ │ │ ├── mev_relay/ │ │ │ │ └── mev_relay_launcher.star │ │ │ └── mock_mev/ │ │ │ └── mock_mev_launcher.star │ │ ├── helix/ │ │ │ └── helix_relay_launcher.star │ │ └── mev-rs/ │ │ ├── mev_boost/ │ │ │ ├── mev_boost_context.star │ │ │ └── mev_boost_launcher.star │ │ ├── mev_builder/ │ │ │ └── mev_builder_launcher.star │ │ └── mev_relay/ │ │ └── mev_relay_launcher.star │ ├── network_launcher/ │ │ ├── devnet.star │ │ ├── ephemery.star │ │ ├── kurtosis.star │ │ ├── public_network.star │ │ └── shadowfork.star │ ├── nginx/ │ │ └── nginx_launcher.star │ ├── node_metrics_info.star │ ├── package_io/ │ │ ├── constants.star │ │ ├── input_parser.star │ │ └── sanity_check.star │ ├── participant.star │ ├── participant_network.star │ ├── prefunded_accounts/ │ │ └── get_prefunded_accounts.star │ ├── prelaunch_data_generator/ │ │ ├── el_cl_genesis/ │ │ │ ├── el_cl_genesis_data.star │ │ │ └── el_cl_genesis_generator.star │ │ ├── genesis_constants/ │ │ │ └── genesis_constants.star │ │ └── validator_keystores/ │ │ ├── generate_keystores_result.star │ │ ├── keystore_files.star │ │ ├── validator_keystore_generator.star │ │ └── validator_ranges_generator.star │ ├── prometheus/ │ │ └── prometheus_launcher.star │ ├── rakoon/ │ │ └── rakoon.star │ ├── remote_signer/ │ │ ├── remote_signer_context.star │ │ └── remote_signer_launcher.star │ ├── shared_utils/ │ │ └── shared_utils.star │ ├── slashoor/ │ │ └── slashoor_launcher.star │ ├── snooper/ │ │ ├── snooper_beacon_context.star │ │ ├── snooper_beacon_launcher.star │ │ ├── snooper_el_context.star │ │ └── snooper_el_launcher.star │ ├── spamoor/ │ │ └── spamoor.star │ ├── static_files/ │ │ └── static_files.star │ ├── tempo/ │ │ └── tempo_launcher.star │ ├── tracoor/ │ │ └── tracoor_launcher.star │ ├── tx_fuzz/ │ │ └── tx_fuzz.star │ ├── vc/ │ │ ├── lighthouse.star │ │ ├── lodestar.star │ │ ├── nimbus.star │ │ ├── prysm.star │ │ ├── shared.star │ │ ├── teku.star │ │ ├── vc_context.star │ │ ├── vc_launcher.star │ │ └── vero.star │ ├── xatu_sentry/ │ │ ├── xatu_sentry_context.star │ │ └── xatu_sentry_launcher.star │ └── zkboost/ │ └── zkboost_launcher.star ├── static_files/ │ ├── apache-config/ │ │ ├── enode.txt.tmpl │ │ ├── enr.txt.tmpl │ │ ├── enr_list.txt.tmpl │ │ └── index.html │ ├── assertoor-config/ │ │ ├── config.yaml.tmpl │ │ └── tests/ │ │ ├── all-opcodes-transaction-test.yaml │ │ ├── blob-transactions-test.yaml │ │ ├── block-proposal-check.yaml │ │ ├── eoa-transactions-test.yaml │ │ ├── stability-check.yaml │ │ └── validator-lifecycle-test.yaml │ ├── blutgang-config/ │ │ └── config.toml.tmpl │ ├── checkpointz-config/ │ │ └── config.yaml.tmpl │ ├── dora-config/ │ │ └── config.yaml.tmpl │ ├── dugtrio-config/ │ │ └── config.yaml.tmpl │ ├── erpc-config/ │ │ └── erpc.yaml.tmpl │ ├── forkmon-config/ │ │ └── config.toml.tmpl │ ├── forky-config/ │ │ └── config.yaml.tmpl │ ├── full-beaconchain-config/ │ │ └── config.yaml.tmpl │ ├── genesis-generation-config/ │ │ └── el-cl/ │ │ ├── additional-contracts.json.tmpl │ │ └── values.env.tmpl │ ├── grafana-config/ │ │ ├── dashboards/ │ │ │ ├── beacon-metrics-dashboard.json │ │ │ ├── besu-dashboard.json │ │ │ ├── default.json │ │ │ ├── ethereum-metrics-exporter-overview.json │ │ │ ├── ethereum-metrics-exporter.json │ │ │ ├── geth-dashboard.json │ │ │ ├── lighthouse/ │ │ │ │ ├── AttestationProcessing.json │ │ │ │ ├── BeaconProcessorV2.json │ │ │ │ ├── BlockProcessing.json │ │ │ │ ├── BlockProduction.json │ │ │ │ ├── EIP8025ProofEngine.json │ │ │ │ ├── EIP8025ProofSync.json │ │ │ │ ├── ForkChoice.json │ │ │ │ ├── Network.json │ │ │ │ ├── Summary.json │ │ │ │ ├── SyncMetrics.json │ │ │ │ └── ValidatorClient.json │ │ │ ├── peerdas-dashboard.json │ │ │ ├── prysm-latency-dashboard.json │ │ │ ├── teku-dashboard.json │ │ │ ├── vero-detailed.json │ │ │ └── zkboost/ │ │ │ └── zkboost.json │ │ └── templates/ │ │ ├── dashboard-providers.yml.tmpl │ │ └── datasource.yml.tmpl │ ├── jwt/ │ │ └── jwtsecret │ ├── keymanager/ │ │ ├── generate_certs.sh │ │ ├── keymanager.txt │ │ ├── openssl.cnf │ │ └── validator_keystore.p12 │ ├── mempool-bridge-config/ │ │ └── config.yaml.tmpl │ ├── mev/ │ │ ├── commit-boost/ │ │ │ └── cb-config.toml.tmpl │ │ ├── flashbots/ │ │ │ └── mev_builder/ │ │ │ └── config.toml.tmpl │ │ ├── helix/ │ │ │ └── config.yaml.tmpl │ │ └── mev-rs/ │ │ ├── mev_boost/ │ │ │ └── config.toml.tmpl │ │ ├── mev_builder/ │ │ │ └── config.toml.tmpl │ │ └── mev_relay/ │ │ └── config.toml.tmpl │ ├── nginx-config/ │ │ ├── enode.txt.tmpl │ │ ├── enr.txt.tmpl │ │ ├── enr_list.txt.tmpl │ │ └── index.html │ ├── peerdas-node-keys/ │ │ ├── grandine/ │ │ │ ├── node-key-file-1/ │ │ │ │ └── key │ │ │ ├── node-key-file-10/ │ │ │ │ └── key │ │ │ ├── node-key-file-11/ │ │ │ │ └── key │ │ │ ├── node-key-file-12/ │ │ │ │ └── key │ │ │ ├── node-key-file-13/ │ │ │ │ └── key │ │ │ ├── node-key-file-14/ │ │ │ │ └── key │ │ │ ├── node-key-file-15/ │ │ │ │ └── key │ │ │ ├── node-key-file-16/ │ │ │ │ └── key │ │ │ ├── node-key-file-2/ │ │ │ │ └── key │ │ │ ├── node-key-file-3/ │ │ │ │ └── key │ │ │ ├── node-key-file-4/ │ │ │ │ └── key │ │ │ ├── node-key-file-5/ │ │ │ │ └── key │ │ │ ├── node-key-file-6/ │ │ │ │ └── key │ │ │ ├── node-key-file-7/ │ │ │ │ └── key │ │ │ ├── node-key-file-8/ │ │ │ │ └── key │ │ │ └── node-key-file-9/ │ │ │ └── key │ │ ├── keys.json │ │ ├── lighthouse/ │ │ │ ├── node-key-file-1/ │ │ │ │ └── key │ │ │ ├── node-key-file-10/ │ │ │ │ └── key │ │ │ ├── node-key-file-11/ │ │ │ │ └── key │ │ │ ├── node-key-file-12/ │ │ │ │ └── key │ │ │ ├── node-key-file-13/ │ │ │ │ └── key │ │ │ ├── node-key-file-14/ │ │ │ │ └── key │ │ │ ├── node-key-file-15/ │ │ │ │ └── key │ │ │ ├── node-key-file-16/ │ │ │ │ └── key │ │ │ ├── node-key-file-2/ │ │ │ │ └── key │ │ │ ├── node-key-file-3/ │ │ │ │ └── key │ │ │ ├── node-key-file-4/ │ │ │ │ └── key │ │ │ ├── node-key-file-5/ │ │ │ │ └── key │ │ │ ├── node-key-file-6/ │ │ │ │ └── key │ │ │ ├── node-key-file-7/ │ │ │ │ └── key │ │ │ ├── node-key-file-8/ │ │ │ │ └── key │ │ │ └── node-key-file-9/ │ │ │ └── key │ │ ├── lodestar/ │ │ │ ├── node-key-file-1/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-10/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-11/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-12/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-13/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-14/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-15/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-16/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-2/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-3/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-4/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-5/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-6/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-7/ │ │ │ │ └── peer-id.json │ │ │ ├── node-key-file-8/ │ │ │ │ └── peer-id.json │ │ │ └── node-key-file-9/ │ │ │ └── peer-id.json │ │ ├── nimbus/ │ │ │ ├── node-key-file-1.json │ │ │ ├── node-key-file-10.json │ │ │ ├── node-key-file-11.json │ │ │ ├── node-key-file-12.json │ │ │ ├── node-key-file-13.json │ │ │ ├── node-key-file-14.json │ │ │ ├── node-key-file-15.json │ │ │ ├── node-key-file-16.json │ │ │ ├── node-key-file-2.json │ │ │ ├── node-key-file-3.json │ │ │ ├── node-key-file-4.json │ │ │ ├── node-key-file-5.json │ │ │ ├── node-key-file-6.json │ │ │ ├── node-key-file-7.json │ │ │ ├── node-key-file-8.json │ │ │ └── node-key-file-9.json │ │ ├── prysm/ │ │ │ ├── node-key-file-1 │ │ │ ├── node-key-file-10 │ │ │ ├── node-key-file-11 │ │ │ ├── node-key-file-12 │ │ │ ├── node-key-file-13 │ │ │ ├── node-key-file-14 │ │ │ ├── node-key-file-15 │ │ │ ├── node-key-file-16 │ │ │ ├── node-key-file-2 │ │ │ ├── node-key-file-3 │ │ │ ├── node-key-file-4 │ │ │ ├── node-key-file-5 │ │ │ ├── node-key-file-6 │ │ │ ├── node-key-file-7 │ │ │ ├── node-key-file-8 │ │ │ └── node-key-file-9 │ │ └── teku/ │ │ ├── node-key-file-1 │ │ ├── node-key-file-10 │ │ ├── node-key-file-11 │ │ ├── node-key-file-12 │ │ ├── node-key-file-13 │ │ ├── node-key-file-14 │ │ ├── node-key-file-15 │ │ ├── node-key-file-16 │ │ ├── node-key-file-2 │ │ ├── node-key-file-3 │ │ ├── node-key-file-4 │ │ ├── node-key-file-5 │ │ ├── node-key-file-6 │ │ ├── node-key-file-7 │ │ ├── node-key-file-8 │ │ └── node-key-file-9 │ ├── slashoor-config/ │ │ └── config.yaml.tmpl │ ├── spamoor-config/ │ │ ├── rpc-hosts.txt.tmpl │ │ └── startup-spammer.yaml.tmpl │ ├── tempo-config/ │ │ └── tempo.yaml.tmpl │ ├── tracoor-config/ │ │ └── config.yaml.tmpl │ ├── validator-ranges/ │ │ └── config.yaml.tmpl │ ├── xatu-sentry-config/ │ │ └── config.yaml.tmpl │ └── zkboost-config/ │ └── config.toml.tmpl └── version.txt
SYMBOL INDEX (7 symbols across 3 files) FILE: .github/check-consensus-spec-values.py function load_yaml (line 58) | def load_yaml(path_or_url: str) -> dict: function compare_configs (line 66) | def compare_configs(our_config: dict, spec_config: dict) -> bool: function main (line 109) | def main(): FILE: .github/remove_trailing_space.py function remove (line 6) | def remove(): FILE: src/mev/flashbots/mev_custom_flood/sender.py function send_transaction (line 30) | def send_transaction(): function delayed_send (line 57) | def delayed_send(interval_between_transactions): function run_infinitely (line 64) | def run_infinitely(interval_between_transactions):
Condensed preview — 385 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,963K chars).
[
{
"path": ".claude/skills/kurtosis-ethereum/SKILL.md",
"chars": 6108,
"preview": "---\nname: kurtosis-ethereum\ndescription: Run Ethereum multi-client devnets using Kurtosis and the ethpandaops/ethereum-p"
},
{
"path": ".claude/skills/kurtosis-ethereum/kurtosis-ref.sh",
"chars": 6279,
"preview": "#!/usr/bin/env bash\n# Unified reference tool for ethereum-package configuration.\n# Only fetches the source file(s) neede"
},
{
"path": ".editorconfig",
"chars": 695,
"preview": "# EditorConfig is awesome: https://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\n[*]\nindent_style = space\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report.md",
"chars": 839,
"preview": "---\nname: Bug report\nabout: Create a bug report\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n<!-- Ethereum package is meant"
},
{
"path": ".github/actions/docker-login/action.yaml",
"chars": 1094,
"preview": "name: Docker login\ndescription: Log in to Docker Hub\ninputs:\n username:\n required: true\n password:\n required: "
},
{
"path": ".github/actions/kurtosis-install/action.yaml",
"chars": 970,
"preview": "name: Kurtosis install\ninputs:\n version:\n description: 'Version to install'\n required: false\n default: 'latest"
},
{
"path": ".github/check-consensus-spec-values.py",
"chars": 3920,
"preview": "#!/usr/bin/env python3\n\"\"\"\nCompares a generated config.yaml against the upstream consensus-specs config.\n\nExits non-zero"
},
{
"path": ".github/dependabot.yml",
"chars": 188,
"preview": "version: 2\nupdates:\n - package-ecosystem: github-actions\n directory: /\n schedule:\n interval: weekly\n "
},
{
"path": ".github/remove_trailing_space.py",
"chars": 231,
"preview": "# This is used by the pr-description-update action\n# to trim trailing newlines and spaces in pr descriptions\n\nimport sys"
},
{
"path": ".github/tests/1gpu_zkvm.yaml_norun",
"chars": 1367,
"preview": "# EIP-8025 testnet with zkboost backed by a single GPU ZisK prover.\n#\n#\n# Run with:\n# kurtosis run --enclave eip8025-z"
},
{
"path": ".github/tests/8gpu_zkvm.yaml_norun",
"chars": 1712,
"preview": "# EIP-8025 testnet with zkboost backed by GPU (ZisK) provers.\n#\n#\n# Run with:\n# kurtosis run --enclave eip8025-zkboost"
},
{
"path": ".github/tests/altair-genesis.yaml",
"chars": 566,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n - el_type: reth\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/archive-storage.yaml.norun",
"chars": 301,
"preview": "# Test archive mode for clients that default to full (geth, nethermind, besu)\nparticipants:\n - el_type: geth\n el_sto"
},
{
"path": ".github/tests/assertoor.yaml",
"chars": 157,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n count: 1\n - el_type: geth\n cl_type: lodestar\n count: "
},
{
"path": ".github/tests/bal-devnet-0.yaml_norun",
"chars": 691,
"preview": "participants_matrix:\n el:\n - el_type: reth\n el_image: ethpandaops/reth:bal-devnet-0\n - el_type: geth\n e"
},
{
"path": ".github/tests/bellatrix-genesis.yaml",
"chars": 565,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n - el_type: reth\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/besu-all.yaml",
"chars": 247,
"preview": "participants:\n - el_type: besu\n cl_type: prysm\n - el_type: besu\n cl_type: teku\n - el_type: besu\n cl_type: ni"
},
{
"path": ".github/tests/binary.yaml_norun",
"chars": 253,
"preview": "participants:\n - cl_type: lighthouse\n cl_image: ethpandaops/lighthouse:unstable\n count: 4\n - el_type: geth\n c"
},
{
"path": ".github/tests/binary_force.yaml_norun",
"chars": 280,
"preview": "participants:\n - cl_type: lighthouse\n cl_image: ethpandaops/lighthouse:unstable\n count: 4\n - el_type: geth\n c"
},
{
"path": ".github/tests/blobber.yaml",
"chars": 946,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n cl_type: lighthouse\n blobber_enabled: true\n"
},
{
"path": ".github/tests/bootnodoor.yaml",
"chars": 168,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n count: 1\n - el_type: geth\n cl_type: lodestar\n count: "
},
{
"path": ".github/tests/capella-genesis.yaml",
"chars": 561,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n - el_type: reth\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/caplin-basic.yaml",
"chars": 146,
"preview": "participants:\n - el_type: erigon\n cl_type: caplin\n use_separate_vc: true\n vc_type: lighthouse\n - el_type: get"
},
{
"path": ".github/tests/consensoor-basic.yaml",
"chars": 428,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:epbs-devnet-0\n cl_type: consensoor\n cl_image: ethpa"
},
{
"path": ".github/tests/custom-contracts.yaml",
"chars": 424,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/custom-mnemonics.yaml",
"chars": 791,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/deneb-genesis.yaml",
"chars": 470,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/deneb.yaml",
"chars": 562,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n - el_type: reth\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/disable-peer-scoring.yaml",
"chars": 280,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: besu\n cl_type: lighthouse\n - el_type: reth\n cl_typ"
},
{
"path": ".github/tests/dummy-el.yaml",
"chars": 306,
"preview": "participants:\n - el_type: geth\n - el_type: dummy\n cl_type: teku\n - el_type: dummy\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/electra-genesis.yaml",
"chars": 505,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/ephemery.yaml",
"chars": 358,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/erigon-all.yaml",
"chars": 349,
"preview": "participants:\n - el_type: erigon\n cl_type: teku\n - el_type: erigon\n cl_type: prysm\n - el_type: erigon\n cl_ty"
},
{
"path": ".github/tests/erpc.yaml",
"chars": 151,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n count: 2\n - el_type: reth\n cl_type: prysm\n count: 1\n\n"
},
{
"path": ".github/tests/ethereumjs-all.yaml.norun",
"chars": 283,
"preview": "participants:\n - el_type: ethereumjs\n cl_type: teku\n - el_type: ethereumjs\n cl_type: prysm\n - el_type: ethereum"
},
{
"path": ".github/tests/ethrex.yaml",
"chars": 259,
"preview": "participants:\n - el_type: ethrex\n cl_type: teku\n - el_type: ethrex\n cl_type: prysm\n - el_type: ethrex\n cl_ty"
},
{
"path": ".github/tests/force.yaml",
"chars": 212,
"preview": "participants:\n - cl_type: lighthouse\n cl_image: ethpandaops/lighthouse:unstable\n count: 2\n - el_type: geth\n c"
},
{
"path": ".github/tests/full-storage.yaml.norun",
"chars": 214,
"preview": "# Test full mode for clients that default to archive (reth, erigon)\nparticipants:\n - el_type: reth\n el_storage_type:"
},
{
"path": ".github/tests/fulu-genesis.yaml",
"chars": 1403,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n el_extra_params: [\"--miner.extradata=lighthous"
},
{
"path": ".github/tests/fulu-mev.yaml",
"chars": 1293,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n cl_type: lighthouse\n cl_image: ethpandaops/"
},
{
"path": ".github/tests/fulu.yaml",
"chars": 268,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n\n\nnetwork_params:\n altair_fork_epoch: 0\n bellatr"
},
{
"path": ".github/tests/geth-all.yaml",
"chars": 247,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: prysm\n - el_type: geth\n cl_type: ni"
},
{
"path": ".github/tests/grandine-all.yaml",
"chars": 306,
"preview": "participants:\n - el_type: geth\n cl_type: grandine\n - el_type: nethermind\n cl_type: grandine\n - el_type: erigon\n"
},
{
"path": ".github/tests/hoodi-shadowfork.yaml_norun",
"chars": 265,
"preview": "participants:\n - el_type: geth\n - el_type: nethermind\n - el_type: besu\n - el_type: reth\n - el_type: erigon\nnetwork_"
},
{
"path": ".github/tests/hoodi-shadowfork_at_height.yaml_norun",
"chars": 197,
"preview": "participants:\n - el_type: geth\nnetwork_params:\n fulu_fork_epoch: 10\n bpo_1_epoch: 11\n shadowfork_block_height: 24000"
},
{
"path": ".github/tests/lighthouse-all.yaml",
"chars": 320,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n - el_type: nethermind\n cl_type: lighthouse\n - el_type: eri"
},
{
"path": ".github/tests/lodestar-all.yaml",
"chars": 306,
"preview": "participants:\n - el_type: geth\n cl_type: lodestar\n - el_type: nethermind\n cl_type: lodestar\n - el_type: erigon\n"
},
{
"path": ".github/tests/mainnet-split.yaml.norun",
"chars": 995,
"preview": "participants:\n # Prysm nodes (33%)\n - el_type: geth\n cl_type: prysm\n - el_type: geth\n cl_type: prysm\n - el_typ"
},
{
"path": ".github/tests/mainnet.yaml.norun",
"chars": 1669,
"preview": "participants_matrix:\n el:\n - el_type: geth\n el_image: ethereum/client-go:v1.15.11\n - el_type: reth\n el_"
},
{
"path": ".github/tests/mempool_bridge.yaml",
"chars": 455,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n count: 2\n\nadditional_services:\n - mempool_bridge\n - dora\n\nnetwor"
},
{
"path": ".github/tests/mev-buildoor.yaml",
"chars": 188,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n count: 2\nmev_type: buildoor\nbuildoor_params:\n builder_api: "
},
{
"path": ".github/tests/mev-commit-boost.yaml",
"chars": 290,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\nmev_type: commit-boost\nadditional_services:\n - tx_fuzz\n - spam"
},
{
"path": ".github/tests/mev-helix.yaml",
"chars": 1293,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n cl_type: lighthouse\n cl_image: ethpandaops/"
},
{
"path": ".github/tests/mev-mock.yaml",
"chars": 202,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n count: 3\nmev_type: mock\nadditional_services:\n - dora\n - sp"
},
{
"path": ".github/tests/mev-multiple-relays.yaml",
"chars": 1465,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n cl_type: lighthouse\n cl_image: ethpandaops/"
},
{
"path": ".github/tests/mev.yaml",
"chars": 435,
"preview": "participants:\n - el_type: geth\n el_extra_params: [\"--miner.extradata=localGeth\"]\n cl_type: lighthouse\n\nmev_type: "
},
{
"path": ".github/tests/minimal-fulu.yaml",
"chars": 1895,
"preview": "participants:\n - el_type: geth\n el_image: ethpandaops/geth:master\n el_extra_params: [\"--miner.extradata=lighthous"
},
{
"path": ".github/tests/minimal-mev.yaml",
"chars": 735,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: prysm\n - el_type: erigon\n cl_type: "
},
{
"path": ".github/tests/minimal.yaml",
"chars": 365,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: prysm\n - el_type: erigon\n cl_type: "
},
{
"path": ".github/tests/mix-assert.yaml",
"chars": 415,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/mix-persistence-k8s.yaml",
"chars": 324,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n use_separate_vc: true\n - el_type: nethermind\n cl_type: prysm\n "
},
{
"path": ".github/tests/mix-persistence.yaml",
"chars": 324,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n use_separate_vc: true\n - el_type: nethermind\n cl_type: prysm\n "
},
{
"path": ".github/tests/mix-public.yaml",
"chars": 960,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/mix-with-tools-mev.yaml",
"chars": 601,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/mix-with-tools-minimal.yaml",
"chars": 702,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: prysm\n - el_type: erigon\n cl_type: "
},
{
"path": ".github/tests/mix-with-tools.yaml",
"chars": 665,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/mix.yaml",
"chars": 385,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/mixed-cl-vc.yml",
"chars": 186,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n use_separate_vc: true\n vc_type: lodestar\n - el_type: besu\n "
},
{
"path": ".github/tests/multi-beacon.yaml",
"chars": 776,
"preview": "participants:\n - supernode: true\n - cl_type: lighthouse\n vc_beacon_node_indices: [] # Connect to its own beacon no"
},
{
"path": ".github/tests/nethermind-all.yaml",
"chars": 283,
"preview": "participants:\n - el_type: nethermind\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: nethermi"
},
{
"path": ".github/tests/nimbus-all.yaml",
"chars": 292,
"preview": "participants:\n - el_type: geth\n cl_type: nimbus\n - el_type: nethermind\n cl_type: nimbus\n - el_type: erigon\n "
},
{
"path": ".github/tests/nimbus-eth1-all.yaml",
"chars": 295,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nimbus\n cl_type: teku\n - el_type: nimbus\n cl_type:"
},
{
"path": ".github/tests/nimbus-mev.yaml",
"chars": 119,
"preview": "participants:\n - el_type: geth\n cl_type: nimbus\n cl_image: ethpandaops/nimbus-eth2:unstable\nmev_type: flashbots\n"
},
{
"path": ".github/tests/node-selectors.yaml",
"chars": 275,
"preview": "participants:\n - el_type: reth\n cl_type: teku\n use_separate_vc: true\n node_selectors: {\n \"kubernetes.io/h"
},
{
"path": ".github/tests/parallel-keystores.yaml",
"chars": 180,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: teku\n validator_count: 0\n - el_type"
},
{
"path": ".github/tests/participants-matrix.yaml",
"chars": 129,
"preview": "participants_matrix:\n el:\n - el_type: besu\n cl:\n - cl_type: prysm\n vc:\n - vc_type: nimbus\nparticipants:\n - "
},
{
"path": ".github/tests/phase0-genesis.yaml",
"chars": 561,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n supernode: true\n - el_type: reth\n cl_type: prysm\n - el_type: "
},
{
"path": ".github/tests/preregistered_validator_count.yaml",
"chars": 260,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: geth\n cl_type: prysm\n - el_type: geth\n cl_type: ni"
},
{
"path": ".github/tests/prysm-all.yaml",
"chars": 285,
"preview": "participants:\n - el_type: geth\n cl_type: prysm\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl"
},
{
"path": ".github/tests/rakoon.yaml",
"chars": 201,
"preview": "participants:\n - el_type: geth\n cl_type: lighthouse\n - el_type: reth\n cl_type: teku\nadditional_services:\n - rak"
},
{
"path": ".github/tests/remote-signer.yaml",
"chars": 539,
"preview": "participants:\n - el_type: geth\n cl_type: lodestar\n use_separate_vc: true\n use_remote_signer: true\n - el_type:"
},
{
"path": ".github/tests/reth-all.yaml",
"chars": 247,
"preview": "participants:\n - el_type: reth\n cl_type: teku\n - el_type: reth\n cl_type: prysm\n - el_type: reth\n cl_type: ni"
},
{
"path": ".github/tests/sepolia-mix.yaml",
"chars": 324,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: prysm\n - el_type: erigon\n cl_"
},
{
"path": ".github/tests/skip.yaml",
"chars": 539,
"preview": "participants:\n - cl_type: prysm\n\n - cl_type: lighthouse\n checkpoint_sync_enabled: true\n skip_start: true\n val"
},
{
"path": ".github/tests/split-nimbus.yaml",
"chars": 431,
"preview": "participants:\n - el_type: geth\n cl_type: nimbus\n use_separate_vc: true\n validator_count: 0\n - el_type: nether"
},
{
"path": ".github/tests/split-teku.yaml",
"chars": 419,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n validator_count: 0\n use_separate_vc: true\n - el_type: nethermi"
},
{
"path": ".github/tests/teku-all.yaml",
"chars": 278,
"preview": "participants:\n - el_type: geth\n cl_type: teku\n - el_type: nethermind\n cl_type: teku\n - el_type: erigon\n cl_t"
},
{
"path": ".github/tests/tolerations.yaml",
"chars": 950,
"preview": "participants:\n - el_type: reth\n cl_type: teku\n use_separate_vc: true\n cl_tolerations:\n - key: \"node-role."
},
{
"path": ".github/tests/vero-all.yaml",
"chars": 689,
"preview": "participants:\n - el_type: besu\n cl_type: grandine\n use_separate_vc: true\n vc_type: vero\n use_remote_signer:"
},
{
"path": ".github/tests/zkboost.yaml",
"chars": 708,
"preview": "participants:\n - cl_type: lighthouse\n cl_image: ethpandaops/lighthouse:eth-act-optional-proofs\n el_type: reth\n "
},
{
"path": ".github/workflows/check-consensus-spec-values.yml",
"chars": 1566,
"preview": "name: Check consensus spec values\n\non:\n schedule:\n - cron: '0 8 * * *'\n workflow_dispatch:\n\nconcurrency:\n group: $"
},
{
"path": ".github/workflows/check-typos.yml",
"chars": 352,
"preview": "name: Check typos\n\non:\n pull_request:\n branches:\n - main\n\njobs:\n check-typos:\n runs-on: ubuntu-latest\n s"
},
{
"path": ".github/workflows/conventional-pr-title-checker.yml",
"chars": 508,
"preview": "# Check PR title for conventional commits\nname: Check PR title\non:\n pull_request_target:\n types:\n - opened\n "
},
{
"path": ".github/workflows/nightly.yml",
"chars": 3120,
"preview": "name: Nightly test Workflow\n\non:\n schedule:\n - cron: \"0 2 * * *\" # This schedules the workflow to run at 02:00 UTC e"
},
{
"path": ".github/workflows/per-pr.yml",
"chars": 5262,
"preview": "name: CI\n\non:\n pull_request:\n\nconcurrency:\n group: \"tests-${{ github.head_ref }}\"\n cancel-in-progress: true\n\njobs:\n "
},
{
"path": ".github/workflows/release-please.yml",
"chars": 464,
"preview": "on:\n push:\n branches:\n - main\n\npermissions:\n contents: write\n pull-requests: write\n\nname: release-please\n\njob"
},
{
"path": ".github/workflows/run-k8s.yml",
"chars": 2539,
"preview": "name: Run k8s test\n\non:\n pull_request:\n workflow_dispatch:\n schedule:\n - cron: '0 2 * * *'\n\nconcurrency:\n group: "
},
{
"path": ".gitignore",
"chars": 929,
"preview": "# IntelliJ\n.idea\n*.iws\n*.iml\n*.ipr\n\n# VS Code\n*.vscode\n\n# Jenv\n.java-version\n\n# Pyenv\n.python-version\n\n# Mac spotlight i"
},
{
"path": ".release-please-manifest.json",
"chars": 19,
"preview": "{\n \".\": \"6.1.0\"\n}\n"
},
{
"path": ".typos.toml",
"chars": 196,
"preview": "[default]\nextend-ignore-re = [\n # Ignore Ethereum Node Records (ENR)\n \"enr:-.*\",\n # Ignore blutgang config typo"
},
{
"path": "CHANGELOG.md",
"chars": 161556,
"preview": "# Changelog\n\n## [6.1.0](https://github.com/ethpandaops/ethereum-package/compare/6.0.0...6.1.0) (2026-04-01)\n\n\n### Featur"
},
{
"path": "LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2024 ethPandaOps\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "README.md",
"chars": 87951,
"preview": "# Ethereum Package\n\n\n\nThis is a [Kurtosis][kurtosis-repo] package that wi"
},
{
"path": "_typos.toml",
"chars": 59,
"preview": "[files]\nextend-exclude = [\"static_files/\", \"CHANGELOG.md\"]\n"
},
{
"path": "docs/architecture.md",
"chars": 7554,
"preview": "# Package Architecture\n\nThis repo is a Kurtosis package. To get general information on what a Kurtosis package is and ho"
},
{
"path": "examples/README.md",
"chars": 106,
"preview": "# Examples\n\nPlease find the example configurations in the [../.github/tests](../.github/tests) directory.\n"
},
{
"path": "kurtosis.yml",
"chars": 48,
"preview": "name: \"github.com/ethpandaops/ethereum-package\"\n"
},
{
"path": "main.star",
"chars": 47223,
"preview": "input_parser = import_module(\"./src/package_io/input_parser.star\")\nconstants = import_module(\"./src/package_io/constants"
},
{
"path": "network_params.yaml",
"chars": 7872,
"preview": "participants:\n# EL\n - el_type: geth\n el_image: ethereum/client-go:latest\n el_binary_path: \"\"\n el_log_level: \"\""
},
{
"path": "release-please-config.json",
"chars": 351,
"preview": "{\n \"$schema\": \"https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json\",\n \"release-type\":"
},
{
"path": "rename.sh",
"chars": 1647,
"preview": "#!/bin/bash\n\n# Helper function to perform replacements\nperform_replacements() {\n local input_file=\"$1\"\n shift\n "
},
{
"path": "src/apache/apache_launcher.star",
"chars": 5536,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nstatic_files = import_module(\"../static_files/static_f"
},
{
"path": "src/assertoor/assertoor_launcher.star",
"chars": 6907,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nstatic_files = import_module(\"../static_files/static_f"
},
{
"path": "src/blobber/blobber_context.star",
"chars": 124,
"preview": "def new_blobber_context(dns_name, port_num):\n return struct(\n dns_name=dns_name,\n port_num=port_num,\n "
},
{
"path": "src/blobber/blobber_launcher.star",
"chars": 3204,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../package_io/input_pars"
},
{
"path": "src/blobscan/blobscan_launcher.star",
"chars": 8957,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\npostgres = import_module(\"github.com/kurtosis-tech/pos"
},
{
"path": "src/blockscout/blockscout_launcher.star",
"chars": 9662,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/blutgang/blutgang_launcher.star",
"chars": 4568,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/bootnodoor/bootnodoor_launcher.star",
"chars": 5870,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/broadcaster/broadcaster.star",
"chars": 1108,
"preview": "input_parser = import_module(\"../package_io/input_parser.star\")\nshared_utils = import_module(\"../shared_utils/shared_uti"
},
{
"path": "src/checkpointz/checkpointz_launcher.star",
"chars": 4519,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/cl/caplin/caplin_launcher.star",
"chars": 11631,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/cl_context.star",
"chars": 982,
"preview": "def new_cl_context(\n client_name,\n enr,\n ip_addr,\n http_port,\n beacon_http_url,\n ip_address=\"\",\n cl"
},
{
"path": "src/cl/cl_launcher.star",
"chars": 15464,
"preview": "node_metrics = import_module(\"../node_metrics_info.star\")\ncl_context_l = import_module(\"./cl_context.star\")\nlighthouse ="
},
{
"path": "src/cl/cl_node_ready_conditions.star",
"chars": 318,
"preview": "def get_ready_conditions(port_id):\n recipe = GetHttpRequestRecipe(endpoint=\"/eth/v1/node/health\", port_id=port_id)\n\n "
},
{
"path": "src/cl/cl_shared.star",
"chars": 599,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/cl/consensoor/consensoor_launcher.star",
"chars": 12562,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/grandine/grandine_launcher.star",
"chars": 16603,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/lighthouse/lighthouse_launcher.star",
"chars": 15997,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/lodestar/lodestar_launcher.star",
"chars": 14674,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/nimbus/nimbus_launcher.star",
"chars": 17360,
"preview": "# ---------------------------------- Library Imports ----------------------------------\nshared_utils = import_module(\"."
},
{
"path": "src/cl/prysm/prysm_launcher.star",
"chars": 16663,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/cl/teku/teku_launcher.star",
"chars": 17272,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/dora/dora_launcher.star",
"chars": 5917,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/dugtrio/dugtrio_launcher.star",
"chars": 3863,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/el/besu/besu_launcher.star",
"chars": 11284,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/dummy/dummy_launcher.star",
"chars": 7541,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/el_admin_node_info.star",
"chars": 1231,
"preview": "def get_enode_enr_for_node(plan, service_name, port_id):\n recipe = PostHttpRequestRecipe(\n endpoint=\"\",\n "
},
{
"path": "src/el/el_context.star",
"chars": 632,
"preview": "def new_el_context(\n client_name,\n enode,\n dns_name,\n rpc_port_num,\n ws_port_num,\n engine_rpc_port_num"
},
{
"path": "src/el/el_launcher.star",
"chars": 9327,
"preview": "constants = import_module(\"../package_io/constants.star\")\ninput_parser = import_module(\"../package_io/input_parser.star\""
},
{
"path": "src/el/el_shared.star",
"chars": 605,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/el/erigon/erigon_launcher.star",
"chars": 11737,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/ethereumjs/ethereumjs_launcher.star",
"chars": 10907,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../..//package_io/inp"
},
{
"path": "src/el/ethrex/ethrex_launcher.star",
"chars": 10585,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/geth/geth_launcher.star",
"chars": 12546,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/nethermind/nethermind_launcher.star",
"chars": 11297,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/nimbus-eth1/nimbus_launcher.star",
"chars": 10278,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/el/reth/reth_launcher.star",
"chars": 13729,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/erpc/erpc_launcher.star",
"chars": 4744,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/ethereum_metrics_exporter/ethereum_metrics_exporter_context.star",
"chars": 294,
"preview": "def new_ethereum_metrics_exporter_context(\n pair_name,\n ip_addr,\n metrics_port_num,\n cl_name,\n el_name,\n)"
},
{
"path": "src/ethereum_metrics_exporter/ethereum_metrics_exporter_launcher.star",
"chars": 3071,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nstatic_files = import_module(\"../static_files/static_f"
},
{
"path": "src/forkmon/forkmon_launcher.star",
"chars": 3221,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/forky/forky_launcher.star",
"chars": 5036,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/full_beaconchain/full_beaconchain_launcher.star",
"chars": 12833,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\npostgres = import_module(\"github.com/kurtosis-tech/pos"
},
{
"path": "src/grafana/grafana_launcher.star",
"chars": 8007,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nstatic_files = import_module(\"../static_files/static_f"
},
{
"path": "src/mempool_bridge/mempool_bridge_launcher.star",
"chars": 6822,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/mev/buildoor/buildoor_launcher.star",
"chars": 2683,
"preview": "constants = import_module(\"../../package_io/constants.star\")\nshared_utils = import_module(\"../../shared_utils/shared_uti"
},
{
"path": "src/mev/commit-boost/mev_boost/mev_boost_context.star",
"chars": 300,
"preview": "def new_mev_boost_context(private_ip_address, port):\n return struct(\n private_ip_address=private_ip_address,\n "
},
{
"path": "src/mev/commit-boost/mev_boost/mev_boost_launcher.star",
"chars": 3968,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\nmev_boost_context_module = import_module(\"../mev"
},
{
"path": "src/mev/flashbots/mev_boost/mev_boost_context.star",
"chars": 300,
"preview": "def new_mev_boost_context(private_ip_address, port):\n return struct(\n private_ip_address=private_ip_address,\n "
},
{
"path": "src/mev/flashbots/mev_boost/mev_boost_launcher.star",
"chars": 3641,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\nmev_boost_context_module = import_module(\"../mev"
},
{
"path": "src/mev/flashbots/mev_builder/mev_builder_launcher.star",
"chars": 4443,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../../package_i"
},
{
"path": "src/mev/flashbots/mev_custom_flood/mev_custom_flood_launcher.star",
"chars": 1866,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../../package_i"
},
{
"path": "src/mev/flashbots/mev_custom_flood/sender.py",
"chars": 2538,
"preview": "\"\"\"\nthis is s a really dumb script that sends tokens to the receiver from the sender every 3 seconds\nthis is being used "
},
{
"path": "src/mev/flashbots/mev_relay/mev_relay_launcher.star",
"chars": 8187,
"preview": "redis_module = import_module(\"github.com/kurtosis-tech/redis-package/main.star\")\npostgres_module = import_module(\"github"
},
{
"path": "src/mev/flashbots/mock_mev/mock_mev_launcher.star",
"chars": 1973,
"preview": "constants = import_module(\"../../../package_io/constants.star\")\ninput_parser = import_module(\"../../../package_io/input_"
},
{
"path": "src/mev/helix/helix_relay_launcher.star",
"chars": 5844,
"preview": "postgres_module = import_module(\"github.com/kurtosis-tech/postgres-package/main.star\")\nconstants = import_module(\"../../"
},
{
"path": "src/mev/mev-rs/mev_boost/mev_boost_context.star",
"chars": 300,
"preview": "def new_mev_boost_context(private_ip_address, port):\n return struct(\n private_ip_address=private_ip_address,\n "
},
{
"path": "src/mev/mev-rs/mev_boost/mev_boost_launcher.star",
"chars": 3733,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\nmev_boost_context_module = import_module(\"../mev"
},
{
"path": "src/mev/mev-rs/mev_builder/mev_builder_launcher.star",
"chars": 2132,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../../package_i"
},
{
"path": "src/mev/mev-rs/mev_relay/mev_relay_launcher.star",
"chars": 3431,
"preview": "shared_utils = import_module(\"../../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../../package_i"
},
{
"path": "src/network_launcher/devnet.star",
"chars": 1511,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nel_cl_genesis_data = import_module(\n \"../prelaunch_"
},
{
"path": "src/network_launcher/ephemery.star",
"chars": 1783,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nel_cl_genesis_data = import_module(\n \"../prelaunch_"
},
{
"path": "src/network_launcher/kurtosis.star",
"chars": 3052,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nvalidator_keystores = import_module(\n \"../prelaunch"
},
{
"path": "src/network_launcher/public_network.star",
"chars": 6606,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nel_cl_genesis_data = import_module(\n \"../prelaunch_"
},
{
"path": "src/network_launcher/shadowfork.star",
"chars": 6331,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/nginx/nginx_launcher.star",
"chars": 5360,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nstatic_files = import_module(\"../static_files/static_f"
},
{
"path": "src/node_metrics_info.star",
"chars": 244,
"preview": "# this is a dictionary as this will get serialized to JSON\ndef new_node_metrics_info(\n name,\n path,\n url,\n c"
},
{
"path": "src/package_io/constants.star",
"chars": 12415,
"preview": "EL_TYPE = struct(\n geth=\"geth\",\n erigon=\"erigon\",\n nethermind=\"nethermind\",\n besu=\"besu\",\n reth=\"reth\",\n "
},
{
"path": "src/package_io/input_parser.star",
"chars": 107915,
"preview": "constants = import_module(\"./constants.star\")\nshared_utils = import_module(\"../shared_utils/shared_utils.star\")\ngenesis_"
},
{
"path": "src/package_io/sanity_check.star",
"chars": 17535,
"preview": "PARTICIPANT_CATEGORIES = {\n \"participants\": [\n \"el_type\",\n \"el_image\",\n \"el_binary_path\",\n "
},
{
"path": "src/participant.star",
"chars": 903,
"preview": "def new_participant(\n el_type,\n cl_type,\n vc_type,\n remote_signer_type,\n el_context,\n cl_context,\n "
},
{
"path": "src/participant_network.star",
"chars": 25261,
"preview": "el_cl_genesis_data_generator = import_module(\n \"./prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star"
},
{
"path": "src/prefunded_accounts/get_prefunded_accounts.star",
"chars": 2170,
"preview": "new_prefunded_account = import_module(\n \"../prelaunch_data_generator/genesis_constants/genesis_constants.star\"\n)\nshar"
},
{
"path": "src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_data.star",
"chars": 355,
"preview": "def new_el_cl_genesis_data(\n files_artifact_uuid,\n genesis_validators_root,\n osaka_time=\"\",\n shadowfork_bloc"
},
{
"path": "src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star",
"chars": 11795,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../../package_io/inpu"
},
{
"path": "src/prelaunch_data_generator/genesis_constants/genesis_constants.star",
"chars": 4257,
"preview": "def new_prefunded_account(address, private_key):\n return struct(address=address, private_key=private_key)\n\n\n# This in"
},
{
"path": "src/prelaunch_data_generator/validator_keystores/generate_keystores_result.star",
"chars": 644,
"preview": "# Package object containing information about the keystores that were generated for validators\n# during genesis creation"
},
{
"path": "src/prelaunch_data_generator/validator_keystores/keystore_files.star",
"chars": 938,
"preview": "# One of these will be created per node we're trying to start\ndef new_keystore_files(\n files_artifact_uuid,\n raw_r"
},
{
"path": "src/prelaunch_data_generator/validator_keystores/validator_keystore_generator.star",
"chars": 13335,
"preview": "shared_utils = import_module(\"../../shared_utils/shared_utils.star\")\nkeystore_files_module = import_module(\"./keystore_f"
},
{
"path": "src/prelaunch_data_generator/validator_keystores/validator_ranges_generator.star",
"chars": 1341,
"preview": "VALIDATOR_RANGES_FILE_NAME = \"validator-ranges.yaml\"\nshared_utils = import_module(\"../../shared_utils/shared_utils.star\""
},
{
"path": "src/prometheus/prometheus_launcher.star",
"chars": 8798,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nprometheus = import_module(\"github.com/kurtosis-tech/p"
},
{
"path": "src/rakoon/rakoon.star",
"chars": 2090,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\ninput_parser = import_module(\"../package_io/input_pars"
},
{
"path": "src/remote_signer/remote_signer_context.star",
"chars": 256,
"preview": "def new_remote_signer_context(\n http_url,\n client_name,\n service_name,\n metrics_info,\n):\n return struct(\n"
},
{
"path": "src/remote_signer/remote_signer_launcher.star",
"chars": 6378,
"preview": "constants = import_module(\"../package_io/constants.star\")\ninput_parser = import_module(\"../package_io/input_parser.star\""
},
{
"path": "src/shared_utils/shared_utils.star",
"chars": 17603,
"preview": "constants = import_module(\"../package_io/constants.star\")\n\nTCP_PROTOCOL = \"TCP\"\nUDP_PROTOCOL = \"UDP\"\nHTTP_APPLICATION_PR"
},
{
"path": "src/slashoor/slashoor_launcher.star",
"chars": 3592,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/snooper/snooper_beacon_context.star",
"chars": 205,
"preview": "def new_snooper_beacon_client_context(ip_addr, beacon_rpc_port_num, dns_name):\n return struct(\n ip_addr=ip_add"
},
{
"path": "src/snooper/snooper_beacon_launcher.star",
"chars": 2819,
"preview": "shared_utils = import_module(\"../shared_utils/shared_utils.star\")\nconstants = import_module(\"../package_io/constants.sta"
},
{
"path": "src/snooper/snooper_el_context.star",
"chars": 250,
"preview": "def new_snooper_el_client_context(ip_addr, engine_rpc_port_num, rpc_port_num, dns_name):\n return struct(\n ip_a"
}
]
// ... and 185 more files (download for full content)
About this extraction
This page contains the full source code of the ethpandaops/ethereum-package GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 385 files (3.4 MB), approximately 922.6k tokens, and a symbol index with 7 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.