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
1 change: 0 additions & 1 deletion .github/tests/ephemery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ participants:
cl_type: teku
- el_type: nethermind
cl_type: prysm
cl_image: gcr.io/prysmaticlabs/prysm/beacon-chain:stable
- el_type: erigon
cl_type: nimbus
- el_type: besu
Expand Down
106 changes: 5 additions & 101 deletions .github/tests/peerdas-deneb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,150 +5,54 @@ participants:
supernode: true
cl_extra_params:
- --minimum-peers-per-subnet=1
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
count: 2
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
supernode: true
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
count: 2
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
supernode: true
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
count: 2
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
supernode: true
cl_extra_params:
- --sync-light-client=no
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
count: 2
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
supernode: true
cl_extra_params:
- --persistNetworkIdentity
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
count: 2
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-fix-negotiation-timeout
supernode: true
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
# Full nodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS
cl_extra_params:
- --minimum-peers-per-subnet=1
- --data-columns-withhold-count=64
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
cl_extra_params: [--persistNetworkIdentity]
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
cl_extra_params:
- --sync-light-client=no
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-fix-negotiation-timeout
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
network_params:
eip7594_fork_epoch: 0
eip7594_fork_version: "0x50000038"
Expand Down
38 changes: 0 additions & 38 deletions .github/tests/peerdas-devnet-2.yaml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/tests/peerdas-devnet-3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
participants:
# Supernodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS
supernode: true
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
supernode: true
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
supernode: true
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
supernode: true
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
supernode: true
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-feature-das
supernode: true
# Fullnodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-feature-das
network_params:
network: peerdas-devnet-3
snooper_enabled: true
additional_services:
- dora
15 changes: 15 additions & 0 deletions src/cl/cl_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,21 @@ def launch(
snooper_engine_context
)
)

if checkpoint_sync_enabled:
if checkpoint_sync_url == "":
if (
network_params.network in constants.PUBLIC_NETWORKS
or network_params.network == constants.NETWORK_NAME.ephemery
):
checkpoint_sync_url = constants.CHECKPOINT_SYNC_URL[
network_params.network
]
else:
fail(
"Checkpoint sync URL is required if you enabled checkpoint_sync for custom networks. Please provide a valid URL."
)

all_snooper_engine_contexts.append(snooper_engine_context)
full_name = "{0}-{1}-{2}".format(index_str, el_type, cl_type)
if index == 0:
Expand Down
17 changes: 1 addition & 16 deletions src/cl/grandine/grandine_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -237,23 +237,8 @@ def get_beacon_config(
if participant.supernode:
cmd.extend(supernode_cmd)

# If checkpoint sync is enabled, add the checkpoint sync url
if checkpoint_sync_enabled:
if checkpoint_sync_url:
cmd.append("--checkpoint-sync-url=" + checkpoint_sync_url)
else:
if (
launcher.network in constants.PUBLIC_NETWORKS
or launcher.network == constants.NETWORK_NAME.ephemery
):
cmd.append(
"--checkpoint-sync-url="
+ constants.CHECKPOINT_SYNC_URL[launcher.network]
)
else:
fail(
"Checkpoint sync URL is required if you enabled checkpoint_sync for custom networks. Please provide a valid URL."
)
cmd.append("--checkpoint-sync-url=" + checkpoint_sync_url)

if launcher.network not in constants.PUBLIC_NETWORKS:
cmd.append(
Expand Down
17 changes: 1 addition & 16 deletions src/cl/lighthouse/lighthouse_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -251,23 +251,8 @@ def get_beacon_config(
if participant.supernode:
cmd.extend(supernode_cmd)

# If checkpoint sync is enabled, add the checkpoint sync url
if checkpoint_sync_enabled:
if checkpoint_sync_url:
cmd.append("--checkpoint-sync-url=" + checkpoint_sync_url)
else:
if (
launcher.network in constants.PUBLIC_NETWORKS
or launcher.network == constants.NETWORK_NAME.ephemery
):
cmd.append(
"--checkpoint-sync-url="
+ constants.CHECKPOINT_SYNC_URL[launcher.network]
)
else:
fail(
"Checkpoint sync URL is required if you enabled checkpoint_sync for custom networks. Please provide a valid URL."
)
cmd.append("--checkpoint-sync-url=" + checkpoint_sync_url)

if launcher.network not in constants.PUBLIC_NETWORKS:
cmd.append("--testnet-dir=" + constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER)
Expand Down
17 changes: 1 addition & 16 deletions src/cl/lodestar/lodestar_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -234,23 +234,8 @@ def get_beacon_config(
if participant.supernode:
cmd.extend(supernode_cmd)

# If checkpoint sync is enabled, add the checkpoint sync url
if checkpoint_sync_enabled:
if checkpoint_sync_url:
cmd.append("--checkpointSyncUrl=" + checkpoint_sync_url)
else:
if (
launcher.network in constants.PUBLIC_NETWORKS
or launcher.network == constants.NETWORK_NAME.ephemery
):
cmd.append(
"--checkpointSyncUrl="
+ constants.CHECKPOINT_SYNC_URL[launcher.network]
)
else:
fail(
"Checkpoint sync URL is required if you enabled checkpoint_sync for custom networks. Please provide a valid URL."
)
cmd.append("--checkpointSyncUrl=" + checkpoint_sync_url)

if launcher.network not in constants.PUBLIC_NETWORKS:
cmd.append(
Expand Down
21 changes: 19 additions & 2 deletions src/cl/nimbus/nimbus_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ BEACON_MIN_CPU = 50
BEACON_MIN_MEMORY = 256

DEFAULT_BEACON_IMAGE_ENTRYPOINT = ["nimbus_beacon_node"]

BEACON_NODE_ENTRYPOINT = "/home/user/nimbus-eth2/build/nimbus_beacon_node"
BEACON_METRICS_PATH = "/metrics"

VALIDATOR_KEYS_MOUNTPOINT_ON_CLIENTS = "/data/nimbus/validator-keys"
Expand Down Expand Up @@ -203,7 +203,17 @@ def get_beacon_config(
}
used_ports = shared_utils.get_port_specs(used_port_assignments)

nimbus_checkpoint_sync_subtask_str = "{0} trustedNodeSync --data-dir={1} --trusted-node-url={2} --network={3} --backfill=false".format(
BEACON_NODE_ENTRYPOINT,
BEACON_DATA_DIRPATH_ON_SERVICE_CONTAINER,
checkpoint_sync_url,
launcher.network
if launcher.network in constants.PUBLIC_NETWORKS
else constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER,
)

cmd = [
"{0}".format(BEACON_NODE_ENTRYPOINT),
"--non-interactive=true",
"--log-level=" + log_level,
"--udp-port={0}".format(discovery_port),
Expand Down Expand Up @@ -306,13 +316,20 @@ def get_beacon_config(
],
)

cmd_str = " ".join(cmd)
if checkpoint_sync_enabled:
command_str = " && ".join([nimbus_checkpoint_sync_subtask_str, cmd_str])
else:
command_str = cmd_str

config_args = {
"image": participant.cl_image,
"ports": used_ports,
"public_ports": public_ports,
"cmd": cmd,
"cmd": [command_str],
"files": files,
"env_vars": participant.cl_extra_env_vars,
"entrypoint": ENTRYPOINT_ARGS,
"private_ip_address_placeholder": constants.PRIVATE_IP_ADDRESS_PLACEHOLDER,
"ready_conditions": cl_node_ready_conditions.get_ready_conditions(
constants.HTTP_PORT_ID
Expand Down
Loading