diff --git a/.github/tests/holesky-shadowfork-verkle.yaml_norun b/.github/tests/holesky-shadowfork-verkle.yaml_norun index 84c79cad6..52b3741d5 100644 --- a/.github/tests/holesky-shadowfork-verkle.yaml_norun +++ b/.github/tests/holesky-shadowfork-verkle.yaml_norun @@ -10,7 +10,6 @@ participants: network_params: electra_fork_epoch: 1 network: holesky-shadowfork-verkle - genesis_delay: 300 additional_services: - dora snooper_enabled: true diff --git a/README.md b/README.md index c4e1a3256..bbae4e3bf 100644 --- a/README.md +++ b/README.md @@ -422,6 +422,13 @@ network_params: # Defaults to 256 epoch ~27 hours shard_committee_period: 256 + # Network sync base url for syncing public networks from a custom snapshot (mostly useful for shadowforks) + # Defaults to "https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/ + # If you have a local snapshot, you can set this to the local url: + # network_snapshot_url_base = "http://10.10.101.21:10000/snapshots/" + # The snapshots are taken with https://github.com/ethpandaops/snapshotter + network_sync_base_url: https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/ + # Configuration place for transaction spammer - https:#github.com/MariusVanDerWijden/tx-fuzz tx_spammer_params: # A list of optional extra params that will be passed to the TX Spammer container for modifying its behaviour diff --git a/network_params.yaml b/network_params.yaml index 35d2078d1..bbe181b0b 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -58,6 +58,7 @@ network_params: network: kurtosis min_validator_withdrawability_delay: 256 shard_committee_period: 256 + network_sync_base_url: https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/ additional_services: - tx_spammer diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 7b4e050dd..585fc5db9 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -245,6 +245,7 @@ def input_parser(plan, input_args): "min_validator_withdrawability_delay" ], shard_committee_period=result["network_params"]["shard_committee_period"], + network_sync_base_url=result["network_params"]["network_sync_base_url"], ), mev_params=struct( mev_relay_image=result["mev_params"]["mev_relay_image"], @@ -614,6 +615,7 @@ def default_network_params(): "network": "kurtosis", "min_validator_withdrawability_delay": 256, "shard_committee_period": 256, + "network_sync_base_url": "https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/", } diff --git a/src/participant_network.star b/src/participant_network.star index 78e81972c..367ac2954 100644 --- a/src/participant_network.star +++ b/src/participant_network.star @@ -110,7 +110,8 @@ def launch_participant_network( ] # overload the network id to match the network name latest_block = plan.run_sh( # fetch the latest block run="mkdir -p /shadowfork && \ - curl -o /shadowfork/latest_block.json https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/" + curl -o /shadowfork/latest_block.json " + + network_params.network_sync_base_url + base_network + "/geth/" + shadowfork_block @@ -146,7 +147,8 @@ def launch_participant_network( config=ServiceConfig( image="alpine:3.19.1", cmd=[ - "apk add --no-cache curl tar zstd && curl -s -L https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/" + "apk add --no-cache curl tar zstd && curl -s -L " + + network_params.network_sync_base_url + base_network + "/" + el_client_type