Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/tests/hoodi-shadowfork_at_height.yaml_norun
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
participants:
- el_type: geth
network_params:
fulu_fork_epoch: 10
shadowfork_block_height: 240000
network: hoodi-shadowfork
additional_services:
- dora
persistent: true
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,12 @@ network_params:
# Defaults to false
force_snapshot_sync: false

# The block height of the shadowfork
# This is used to sync the network from a snapshot at a specific block height
# Defaults to "latest"
# Example: shadowfork_block_height: 240000
shadowfork_block_height: "latest"

# The number of data column sidecar subnets used in the gossipsub protocol
data_column_sidecar_subnet_count: 128
# Number of DataColumn random samples a node queries per slot
Expand Down
5 changes: 2 additions & 3 deletions src/network_launcher/shadowfork.star
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ input_parser = import_module("../package_io/input_parser.star")
def shadowfork_prep(
plan,
network_params,
shadowfork_block,
participants,
global_tolerations,
global_node_selectors,
Expand All @@ -33,7 +32,7 @@ def shadowfork_prep(
+ network_params.network_sync_base_url
+ base_network
+ "/geth/"
+ shadowfork_block
+ str(network_params.shadowfork_block_height)
+ "/_snapshot_eth_getBlockByNumber.json && \
cat /shadowfork/latest_block.json",
store=[StoreSpec(src="/shadowfork", name="latest_blocks")],
Expand Down Expand Up @@ -68,7 +67,7 @@ def shadowfork_prep(
+ "/"
+ el_type
+ "/"
+ shadowfork_block
+ str(network_params.shadowfork_block_height)
+ "/snapshot.tar.zst"
+ " | tar -I zstd -xvf - -C /data/"
+ el_type
Expand Down
3 changes: 3 additions & 0 deletions src/package_io/input_parser.star
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@ def input_parser(plan, input_args):
shard_committee_period=result["network_params"]["shard_committee_period"],
network_sync_base_url=result["network_params"]["network_sync_base_url"],
force_snapshot_sync=result["network_params"]["force_snapshot_sync"],
shadowfork_block_height=result["network_params"]["shadowfork_block_height"],
data_column_sidecar_subnet_count=result["network_params"][
"data_column_sidecar_subnet_count"
],
Expand Down Expand Up @@ -937,6 +938,7 @@ def default_network_params():
"eip7805_fork_epoch": constants.FAR_FUTURE_EPOCH,
"network_sync_base_url": "https://snapshots.ethpandaops.io/",
"force_snapshot_sync": False,
"shadowfork_block_height": "latest",
"data_column_sidecar_subnet_count": 128,
"samples_per_slot": 8,
"custody_requirement": 4,
Expand Down Expand Up @@ -983,6 +985,7 @@ def default_minimal_network_params():
"eip7805_fork_epoch": constants.FAR_FUTURE_EPOCH,
"network_sync_base_url": "https://snapshots.ethpandaops.io/",
"force_snapshot_sync": False,
"shadowfork_block_height": "latest",
"data_column_sidecar_subnet_count": 128,
"samples_per_slot": 8,
"custody_requirement": 4,
Expand Down
1 change: 1 addition & 0 deletions src/package_io/sanity_check.star
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ SUBCATEGORY_PARAMS = {
"eip7805_fork_epoch",
"network_sync_base_url",
"force_snapshot_sync",
"shadowfork_block_height",
"data_column_sidecar_subnet_count",
"samples_per_slot",
"custody_requirement",
Expand Down
11 changes: 1 addition & 10 deletions src/participant_network.star
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,9 @@ def launch_participant_network(
parallel_keystore_generation,
):
network_id = network_params.network_id
latest_block = ""
num_participants = len(args_with_right_defaults.participants)
shadowfork_block = "latest"
total_number_of_validator_keys = 0
if (
constants.NETWORK_NAME.shadowfork in network_params.network
and ("verkle" in network_params.network)
and ("holesky" in network_params.network)
):
shadowfork_block = "793312" # Hardcodes verkle shadowfork block for holesky

latest_block = ""
if (
network_params.network == constants.NETWORK_NAME.kurtosis
or constants.NETWORK_NAME.shadowfork in network_params.network
Expand All @@ -63,7 +55,6 @@ def launch_participant_network(
latest_block, network_id = launch_shadowfork.shadowfork_prep(
plan,
network_params,
shadowfork_block,
args_with_right_defaults.participants,
global_tolerations,
global_node_selectors,
Expand Down
Loading