diff --git a/.github/tests/altair-genesis.yaml b/.github/tests/altair-genesis.yaml index 2707e88c5..c8366081d 100644 --- a/.github/tests/altair-genesis.yaml +++ b/.github/tests/altair-genesis.yaml @@ -23,6 +23,7 @@ network_params: deneb_fork_epoch: 3 electra_fork_epoch: 4 fulu_fork_epoch: 5 - gloas_fork_epoch: 6 + bpo_1_epoch: 6 + gloas_fork_epoch: 7 genesis_delay: 120 diff --git a/.github/tests/bellatrix-genesis.yaml b/.github/tests/bellatrix-genesis.yaml index 9a0ce717c..f4bd64b84 100644 --- a/.github/tests/bellatrix-genesis.yaml +++ b/.github/tests/bellatrix-genesis.yaml @@ -23,5 +23,6 @@ network_params: deneb_fork_epoch: 2 electra_fork_epoch: 3 fulu_fork_epoch: 4 - gloas_fork_epoch: 5 + bpo_1_epoch: 5 + gloas_fork_epoch: 6 genesis_delay: 120 diff --git a/.github/tests/bootnodoor.yaml b/.github/tests/bootnodoor.yaml new file mode 100644 index 000000000..7cccc047d --- /dev/null +++ b/.github/tests/bootnodoor.yaml @@ -0,0 +1,11 @@ +participants: + - el_type: geth + cl_type: lighthouse + count: 1 + - el_type: geth + cl_type: lodestar + count: 1 +additional_services: + - dora +bootnode: bootnodoor + diff --git a/.github/tests/capella-genesis.yaml b/.github/tests/capella-genesis.yaml index b3b3cac7c..3dab36872 100644 --- a/.github/tests/capella-genesis.yaml +++ b/.github/tests/capella-genesis.yaml @@ -23,5 +23,6 @@ network_params: deneb_fork_epoch: 1 electra_fork_epoch: 2 fulu_fork_epoch: 3 - gloas_fork_epoch: 4 + bpo_1_epoch: 4 + gloas_fork_epoch: 5 genesis_delay: 120 diff --git a/.github/tests/deneb-genesis.yaml b/.github/tests/deneb-genesis.yaml index d4c865861..3571b79ef 100644 --- a/.github/tests/deneb-genesis.yaml +++ b/.github/tests/deneb-genesis.yaml @@ -1,7 +1,6 @@ participants: - el_type: geth cl_type: teku - supernode: true - el_type: nethermind cl_type: prysm - el_type: erigon @@ -10,8 +9,6 @@ participants: cl_type: lighthouse - el_type: reth cl_type: lodestar - - el_type: ethereumjs - cl_type: teku - el_type: ethrex cl_type: prysm network_params: @@ -21,5 +18,6 @@ network_params: deneb_fork_epoch: 0 electra_fork_epoch: 1 fulu_fork_epoch: 2 - gloas_fork_epoch: 3 + bpo_1_epoch: 3 + gloas_fork_epoch: 4 genesis_delay: 120 diff --git a/.github/tests/deneb.yaml b/.github/tests/deneb.yaml index 2971f5fa4..4f116254c 100644 --- a/.github/tests/deneb.yaml +++ b/.github/tests/deneb.yaml @@ -25,5 +25,6 @@ network_params: deneb_fork_epoch: 1 electra_fork_epoch: 2 fulu_fork_epoch: 3 - gloas_fork_epoch: 4 + bpo_1_epoch: 4 + gloas_fork_epoch: 5 preset: minimal diff --git a/.github/tests/electra-genesis.yaml b/.github/tests/electra-genesis.yaml index 8a62eb09b..5db604b78 100644 --- a/.github/tests/electra-genesis.yaml +++ b/.github/tests/electra-genesis.yaml @@ -1,7 +1,6 @@ participants: - el_type: geth cl_type: teku - supernode: true - el_type: nethermind cl_type: prysm - el_type: erigon @@ -10,8 +9,6 @@ participants: cl_type: lighthouse - el_type: reth cl_type: lodestar - - el_type: ethereumjs - cl_type: teku - el_type: ethrex cl_type: lighthouse network_params: @@ -21,6 +18,7 @@ network_params: 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: diff --git a/.github/tests/eof-fulu.yaml.norun b/.github/tests/eof-fulu.yaml.norun deleted file mode 100644 index bd9abdffc..000000000 --- a/.github/tests/eof-fulu.yaml.norun +++ /dev/null @@ -1,26 +0,0 @@ -participants: - - el_type: nethermind - el_image: ethpandaops/nethermind:feature-evm-eof - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:develop-557c5be - - el_type: reth - el_image: ethpandaops/reth:main - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:develop-557c5be - - el_type: besu - el_image: ethpandaops/besu:main - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:develop-557c5be - -global_log_level: info - -network_params: - fulu_fork_epoch: 1 - seconds_per_slot: 4 - -additional_services: - - dora - - tx_fuzz - - spamoor - -snooper_enabled: true diff --git a/.github/tests/eof.yaml.norun b/.github/tests/eof.yaml.norun deleted file mode 100644 index 6d62470d4..000000000 --- a/.github/tests/eof.yaml.norun +++ /dev/null @@ -1,12 +0,0 @@ -participants: - - el_type: besu - el_image: ethpandaops/besu:main - count: 3 - cl_type: teku - cl_image: ethpandaops/teku:master -network_params: - fulu_fork_epoch: 1 - preset: minimal -additional_services: - - dora - - blockscout diff --git a/.github/tests/ephemery.yaml b/.github/tests/ephemery.yaml index 78431d045..10e6af08a 100644 --- a/.github/tests/ephemery.yaml +++ b/.github/tests/ephemery.yaml @@ -9,12 +9,10 @@ participants: cl_type: lighthouse - el_type: reth cl_type: lodestar - - el_type: ethereumjs - cl_type: teku - el_type: besu cl_type: grandine - el_type: ethrex cl_type: teku network_params: - network: ephemery + network: sepolia checkpoint_sync_enabled: true diff --git a/.github/tests/ethereumjs-all.yaml b/.github/tests/ethereumjs-all.yaml.norun similarity index 100% rename from .github/tests/ethereumjs-all.yaml rename to .github/tests/ethereumjs-all.yaml.norun diff --git a/.github/tests/fulu-genesis.yaml b/.github/tests/fulu-genesis.yaml index e7446472b..6542ee1fc 100644 --- a/.github/tests/fulu-genesis.yaml +++ b/.github/tests/fulu-genesis.yaml @@ -42,7 +42,8 @@ network_params: deneb_fork_epoch: 0 electra_fork_epoch: 0 fulu_fork_epoch: 0 - gloas_fork_epoch: 1 + bpo_1_epoch: 1 + gloas_fork_epoch: 2 genesis_delay: 120 additional_services: - dora diff --git a/.github/tests/fulu-mev.yaml b/.github/tests/fulu-mev.yaml index 100b32c60..79b95e0ff 100644 --- a/.github/tests/fulu-mev.yaml +++ b/.github/tests/fulu-mev.yaml @@ -42,5 +42,4 @@ network_params: min_validator_withdrawability_delay: 1 shard_committee_period: 1 churn_limit_quotient: 16 - fulu_fork_epoch: 1 prefunded_accounts: '{"0xb9e79d19f651a941757b35830232e7efc77e1c79": {"balance": "100000ETH"}}' diff --git a/.github/tests/fulu.yaml b/.github/tests/fulu.yaml index 9add4c7bd..03f5d7f0a 100644 --- a/.github/tests/fulu.yaml +++ b/.github/tests/fulu.yaml @@ -11,5 +11,6 @@ network_params: deneb_fork_epoch: 0 electra_fork_epoch: 1 fulu_fork_epoch: 2 - gloas_fork_epoch: 3 + bpo_1_epoch: 3 + gloas_fork_epoch: 4 diff --git a/.github/tests/hoodi-shadowfork.yaml_norun b/.github/tests/hoodi-shadowfork.yaml_norun index f35f17780..a80289b7a 100644 --- a/.github/tests/hoodi-shadowfork.yaml_norun +++ b/.github/tests/hoodi-shadowfork.yaml_norun @@ -6,6 +6,7 @@ participants: - el_type: erigon network_params: fulu_fork_epoch: 10 + bpo_1_epoch: 11 network: hoodi-shadowfork additional_services: - dora diff --git a/.github/tests/hoodi-shadowfork_at_height.yaml_norun b/.github/tests/hoodi-shadowfork_at_height.yaml_norun index 2c6a9171b..2c8c446f0 100644 --- a/.github/tests/hoodi-shadowfork_at_height.yaml_norun +++ b/.github/tests/hoodi-shadowfork_at_height.yaml_norun @@ -2,6 +2,7 @@ participants: - el_type: geth network_params: fulu_fork_epoch: 10 + bpo_1_epoch: 11 shadowfork_block_height: 240000 network: hoodi-shadowfork additional_services: diff --git a/.github/tests/mev-pectra.yaml b/.github/tests/mev-pectra.yaml index 939e7a869..d73dc6739 100644 --- a/.github/tests/mev-pectra.yaml +++ b/.github/tests/mev-pectra.yaml @@ -1,6 +1,6 @@ participants: - el_type: geth - el_image: ethereum/client-go:v1.15.11 + el_image: ethereum/client-go:v1.16.7 el_extra_params: ["--miner.extradata=pawanRocks"] cl_type: lighthouse cl_image: sigp/lighthouse:v7.0.1 @@ -31,7 +31,7 @@ participants: cl_image: statusim/nimbus-eth2:multiarch-v25.4.1 - el_type: geth - el_image: ethereum/client-go:v1.15.11 + el_image: ethereum/client-go:v1.16.7 el_extra_params: ["--miner.extradata=pawanRocks"] cl_type: grandine cl_image: sifrai/grandine:1.1.0 diff --git a/.github/tests/minimal-fulu.yaml b/.github/tests/minimal-fulu.yaml index 220f48b55..4ca22efbd 100644 --- a/.github/tests/minimal-fulu.yaml +++ b/.github/tests/minimal-fulu.yaml @@ -22,13 +22,13 @@ participants: el_image: ethpandaops/geth:master el_extra_params: ["--miner.extradata=PrysmFromLocal"] cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:develop + 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 + cl_image: ethpandaops/nimbus-eth2:unstable-minimal - el_type: reth el_image: ethpandaops/reth:main @@ -45,7 +45,7 @@ network_params: min_validator_withdrawability_delay: 1 shard_committee_period: 1 churn_limit_quotient: 16 - fulu_fork_epoch: 10 + fulu_fork_epoch: 0 genesis_delay: 120 preset: minimal diff --git a/.github/tests/minimal-mev.yaml b/.github/tests/minimal-mev.yaml index d4e7e8b3c..e36ae5e44 100644 --- a/.github/tests/minimal-mev.yaml +++ b/.github/tests/minimal-mev.yaml @@ -7,7 +7,6 @@ participants: cl_type: nimbus - el_type: besu cl_type: lighthouse - cl_image: ethpandaops/lighthouse:unstable - el_type: reth cl_type: lodestar - el_type: geth @@ -16,7 +15,6 @@ participants: cl_type: lodestar network_params: preset: minimal - electra_fork_epoch: 1 prefunded_accounts: '{"0xb9e79D19f651a941757b35830232E7EFC77E1c79": {"balance": "100000ETH"}}' additional_services: diff --git a/.github/tests/mix-with-tools-mev.yaml b/.github/tests/mix-with-tools-mev.yaml index 0f38a1dec..f1a168031 100644 --- a/.github/tests/mix-with-tools-mev.yaml +++ b/.github/tests/mix-with-tools-mev.yaml @@ -19,7 +19,6 @@ additional_services: - prometheus - grafana - custom_flood - - blobscan - blockscout - dugtrio - erpc diff --git a/.github/tests/mix-with-tools-minimal.yaml b/.github/tests/mix-with-tools-minimal.yaml index c1ce6c56e..d83259e7e 100644 --- a/.github/tests/mix-with-tools-minimal.yaml +++ b/.github/tests/mix-with-tools-minimal.yaml @@ -23,7 +23,6 @@ additional_services: - prometheus - grafana - custom_flood - - blobscan - blockscout - dugtrio - erpc @@ -33,3 +32,4 @@ additional_services: ethereum_metrics_exporter_enabled: true snooper_enabled: true keymanager_enabled: true +bootnode: bootnodoor diff --git a/.github/tests/peerdas-fulu.yaml.norun b/.github/tests/peerdas-fulu.yaml.norun deleted file mode 100644 index 528177adb..000000000 --- a/.github/tests/peerdas-fulu.yaml.norun +++ /dev/null @@ -1,80 +0,0 @@ -participants: - # Super nodes - # ----------- - - # Lighthouse - - cl_type: lighthouse - cl_image: ethpandaops/lighthouse:peerdas-devnet-5 - cl_max_mem: 4096 - cl_extra_params: - - --subscribe-all-data-column-subnets - - # Prysm - - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:data-columns-storage - cl_max_mem: 4096 - cl_extra_params: - - --subscribe-all-subnets - - # Teku - - cl_type: teku - cl_image: ethpandaops/teku:nashatyrev-das - cl_max_mem: 4096 - cl_extra_params: - - --p2p-subscribe-all-custody-subnets-enabled - - - cl_type: grandine - cl_image: ethpandaops/grandine:hangleang-peerdas-fulu - cl_max_mem: 4096 - cl_extra_params: - - --subscribe-all-data-column-subnets - - # Nimbus - - cl_type: nimbus - cl_image: ethpandaops/nimbus-eth2:cs2 - cl_extra_params: - - --debug-peerdas-supernode=true - - --sync-light-client=no - - # Full nodes - # ----------- - - # Lighthouse - - cl_type: lighthouse - cl_image: ethpandaops/lighthouse:peerdas-devnet-5 - cl_max_mem: 4096 - - # Prysm - - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:data-columns-storage - cl_max_mem: 4096 - - - # Teku - - cl_type: teku - cl_image: ethpandaops/teku:nashatyrev-das - - # Grandine - - cl_type: grandine - cl_image: ethpandaops/grandine:hangleang-peerdas-fulu - - # Nimbus - - cl_type: nimbus - cl_image: ethpandaops/nimbus-eth2:cs2 - cl_extra_params: - - --debug-peerdas-supernode=false - - --sync-light-client=no - -global_log_level: debug - -network_params: - fulu_fork_epoch: 1 - -additional_services: - - dora - - spamoor - - prometheus - - grafana - -snooper_enabled: false - diff --git a/.github/tests/phase0-genesis.yaml b/.github/tests/phase0-genesis.yaml index 7e3c1f210..beab133c5 100644 --- a/.github/tests/phase0-genesis.yaml +++ b/.github/tests/phase0-genesis.yaml @@ -23,4 +23,6 @@ network_params: deneb_fork_epoch: 4 electra_fork_epoch: 5 fulu_fork_epoch: 6 + bpo_1_epoch: 7 + gloas_fork_epoch: 8 genesis_delay: 120 diff --git a/README.md b/README.md index e4d39d85b..16a525677 100644 --- a/README.md +++ b/README.md @@ -874,6 +874,8 @@ blockscout_params: # Frontend image # Defaults to ghcr.io/blockscout/frontend:latest frontend_image: "ghcr.io/blockscout/frontend:latest" + # Environment variables + env: {} # Configuration place for dora the explorer - https://github.com/ethpandaops/dora dora_params: @@ -938,6 +940,23 @@ grafana_params: # Defaults to the latest image image: "grafana/grafana:latest" +# Bootnodoor params +bootnodoor_params: + # Bootnodoor docker image to use + # Defaults to the latest image + image: "ethpandaops/bootnodoor:latest" + min_cpu: 100 + max_cpu: 1000 + min_mem: 128 + max_mem: 512 + # A list of optional extra args the bootnodoor container should spin up with + extra_args: [] + +# Bootnode type +# Supported values: "client", "bootnodoor" +# Defaults to "client" +bootnode: client + # Configuration place for tempo tracing backend tempo_params: # How long to retain traces diff --git a/network_params.yaml b/network_params.yaml index 58921e7f2..3f865e362 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -203,6 +203,14 @@ mev_params: labels: {} custom_flood_params: interval_between_transactions: 1 +bootnodoor_params: + image: ethpandaops/bootnodoor:latest + min_cpu: 100 + max_cpu: 1000 + min_mem: 128 + max_mem: 512 + extra_args: [] +bootnode: client xatu_sentry_enabled: false xatu_sentry_params: xatu_sentry_image: ethpandaops/xatu-sentry diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index e40887c05..a15cff27d 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -249,11 +249,6 @@ def get_config( ) ) - if constants.NETWORK_NAME.shadowfork in network_params.network: # shadowfork - cmd.append("--override.osaka=" + str(launcher.shadowfork_times["osaka_time"])) - cmd.append("--override.bpo1=" + str(launcher.shadowfork_times["bpo_1_time"])) - cmd.append("--override.bpo2=" + str(launcher.shadowfork_times["bpo_2_time"])) - if len(participant.el_extra_params) > 0: # this is a repeated, we convert it into Starlark cmd.extend([param for param in participant.el_extra_params]) diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 5cf4fb439..6bca09fc1 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -369,6 +369,10 @@ def input_parser(plan, input_args): not has_supernodes and not has_node_with_128_plus_validators and not result["network_params"]["perfect_peerdas_enabled"] + and ( + result["network_params"]["network"] == constants.NETWORK_NAME.kurtosis + or "shadowfork" in result["network_params"]["network"] + ) ): fail( "Fulu fork is enabled (epoch: {0}) but no supernodes are configured, no nodes have 128 or more validators, and perfect_peerdas_enabled is not enabled. Either configure a supernode, ensure at least one node has 128+ validators, or enable perfect_peerdas_enabled in network_params with 16 participants.".format(