diff --git a/README.md b/README.md index 33e83e23..3642fba0 100644 --- a/README.md +++ b/README.md @@ -152,8 +152,7 @@ For example, this `eth-network-params.json` adds a second node, running a differ "deposit_contract_address": "0x4242424242424242424242424242424242424242", "seconds_per_slot": 12, "slots_per_epoch": 32, - "genesis_delay": 10, - "capella_fork_epoch": 2, + "genesis_delay": 120, "deneb_fork_epoch": 500 }, "global_client_log_level": "info" diff --git a/default-network-params.json b/default-network-params.json index 0db93a13..847e45ab 100644 --- a/default-network-params.json +++ b/default-network-params.json @@ -19,7 +19,7 @@ "deposit_contract_address": "0x4242424242424242424242424242424242424242", "seconds_per_slot": 12, "genesis_delay": 120, - "capella_fork_epoch": 5 + "deneb_fork_epoch": 5 }, "global_client_log_level": "info" } diff --git a/kurtosis.yml b/kurtosis.yml index 6e98491f..f84e31b6 100644 --- a/kurtosis.yml +++ b/kurtosis.yml @@ -1 +1 @@ -name: "github.com/kurtosis-tech/eth-network-package" \ No newline at end of file +name: "github.com/barnabasbusa/eth-network-package" \ No newline at end of file diff --git a/main.star b/main.star index 03a02f1c..19556481 100644 --- a/main.star +++ b/main.star @@ -1,8 +1,8 @@ -participant_network = import_module("github.com/kurtosis-tech/eth-network-package/src/participant_network.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") +participant_network = import_module("github.com/barnabasbusa/eth-network-package/src/participant_network.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") -static_files = import_module("github.com/kurtosis-tech/eth-network-package/static_files/static_files.star") -genesis_constants = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/genesis_constants/genesis_constants.star") +static_files = import_module("github.com/barnabasbusa/eth-network-package/static_files/static_files.star") +genesis_constants = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/genesis_constants/genesis_constants.star") def run(plan, args): args_with_right_defaults = input_parser.parse_input(args) diff --git a/package_io/input_parser.star b/package_io/input_parser.star index fdb5ec43..f007ba3a 100644 --- a/package_io/input_parser.star +++ b/package_io/input_parser.star @@ -88,9 +88,6 @@ def parse_input(input_args): if result["network_params"]["genesis_delay"] == 0: fail("genesis_delay is 0 needs to be > 0 ") - if result["network_params"]["capella_fork_epoch"] == 0: - fail("capella_fork_epoch is 0 needs to be > 0 ") - if result["network_params"]["deneb_fork_epoch"] == 0: fail("deneb_fork_epoch is 0 needs to be > 0 ") @@ -123,8 +120,7 @@ def parse_input(input_args): deposit_contract_address=result["network_params"]["deposit_contract_address"], seconds_per_slot=result["network_params"]["seconds_per_slot"], slots_per_epoch=result["network_params"]["slots_per_epoch"], - capella_fork_epoch=result["network_params"]["capella_fork_epoch"], - deneb_fork_epoch=result["network_params"]["deneb_fork_epoch"], + deneb_fork_epoch=result["network_params"]["deneb_fork_epoch"], genesis_delay=result["network_params"]["genesis_delay"] ), wait_for_finalization=result["wait_for_finalization"], @@ -162,8 +158,7 @@ def default_network_params(): "deposit_contract_address": "0x4242424242424242424242424242424242424242", "seconds_per_slot": 12, "slots_per_epoch": 32, - "genesis_delay": 10, - "capella_fork_epoch": 2, + "genesis_delay": 120, # arbitrarily large while we sort out https://github.com/kurtosis-tech/eth-network-package/issues/42 # this will take 53~ hoours for now "deneb_fork_epoch": 500, diff --git a/src/cl/cl_client_context.star b/src/cl/cl_client_context.star index 18cd6dfc..350d43ff 100644 --- a/src/cl/cl_client_context.star +++ b/src/cl/cl_client_context.star @@ -1,9 +1,9 @@ -def new_cl_client_context(client_name, enr, ip_addr, http_port_num, cl_nodes_metrics_info, beacon_service_name): +def new_cl_client_context(client_name, enr, ip_addr, http_port_num, cl_nodes_metrics_info, beacon_service_name, cl_service_name): return struct( client_name = client_name, enr = enr, ip_addr = ip_addr, http_port_num = http_port_num, cl_nodes_metrics_info = cl_nodes_metrics_info, - beacon_service_name = beacon_service_name + beacon_service_name = beacon_service_name, ) diff --git a/src/cl/lighthouse/lighthouse_launcher.star b/src/cl/lighthouse/lighthouse_launcher.star index 1cb70603..47302b84 100644 --- a/src/cl/lighthouse/lighthouse_launcher.star +++ b/src/cl/lighthouse/lighthouse_launcher.star @@ -1,9 +1,9 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -cl_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_client_context.star") -cl_node_metrics = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_metrics_info.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +cl_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_client_context.star") +cl_node_metrics = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_metrics_info.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") LIGHTHOUSE_BINARY_COMMAND = "lighthouse" @@ -39,7 +39,6 @@ VALIDATOR_HTTP_PORT_WAIT_DISABLED = None METRICS_PATH = "/metrics" -BEACON_SUFFIX_SERVICE_NAME = "beacon" VALIDATOR_SUFFIX_SERVICE_NAME = "validator" PRIVATE_IP_ADDRESS_PLACEHOLDER = "KURTOSIS_IP_ADDR_PLACEHOLDER" @@ -77,7 +76,7 @@ def launch( extra_beacon_params, extra_validator_params): - beacon_node_service_name = "{0}-{1}".format(service_name, BEACON_SUFFIX_SERVICE_NAME) + beacon_node_service_name = "{0}".format(service_name) validator_node_service_name = "{0}-{1}".format(service_name, VALIDATOR_SUFFIX_SERVICE_NAME) log_level = input_parser.get_client_log_level_or_default(participant_log_level, global_log_level, LIGHTHOUSE_LOG_LEVELS) diff --git a/src/cl/lodestar/lodestar_launcher.star b/src/cl/lodestar/lodestar_launcher.star index fe4fbe0d..439967da 100644 --- a/src/cl/lodestar/lodestar_launcher.star +++ b/src/cl/lodestar/lodestar_launcher.star @@ -1,10 +1,10 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -cl_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_client_context.star") -cl_node_metrics = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_metrics_info.star") -cl_node_ready_conditions = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_ready_conditions.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +cl_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_client_context.star") +cl_node_metrics = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_metrics_info.star") +cl_node_ready_conditions = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_ready_conditions.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") CONSENSUS_DATA_DIRPATH_ON_SERVICE_CONTAINER = "/consensus-data" GENESIS_DATA_MOUNT_DIRPATH_ON_SERVICE_CONTAINER = "/genesis" @@ -13,16 +13,15 @@ VALIDATOR_KEYS_MOUNT_DIRPATH_ON_SERVICE_CONTAINER = "/validator-keys" # Port IDs TCP_DISCOVERY_PORT_ID = "tcp-discovery" UDP_DISCOVERY_PORT_ID = "udp-discovery" -HTTP_PORT_ID = "http" -METRICS_PORT_ID = "metrics" +HTTP_PORT_ID = "http" +METRICS_PORT_ID = "metrics" VALIDATOR_METRICS_PORT_ID = "validator-metrics" # Port nums DISCOVERY_PORT_NUM = 9000 -HTTP_PORT_NUM = 4000 -METRICS_PORT_NUM = 8008 +HTTP_PORT_NUM = 4000 +METRICS_PORT_NUM = 8008 -BEACON_SUFFIX_SERVICE_NAME = "beacon" VALIDATOR_SUFFIX_SERVICE_NAME = "validator" METRICS_PATH = "/metrics" @@ -63,7 +62,7 @@ def launch( extra_beacon_params, extra_validator_params): - beacon_node_service_name = "{0}-{1}".format(service_name, BEACON_SUFFIX_SERVICE_NAME) + beacon_node_service_name = "{0}".format(service_name) validator_node_service_name = "{0}-{1}".format(service_name, VALIDATOR_SUFFIX_SERVICE_NAME) log_level = input_parser.get_client_log_level_or_default(participant_log_level, global_log_level, LODESTAR_LOG_LEVELS) @@ -216,7 +215,7 @@ def get_validator_config( "--logLevel=" + log_level, "--dataDir=" + root_dirpath, "--paramsFile=" + genesis_config_filepath, - "--server=" + beacon_client_http_url, + "--beaconNodes=" + beacon_client_http_url, "--keystoresDir=" + validator_keys_dirpath, "--secretsDir=" + validator_secrets_dirpath, # vvvvvvvvvvvvvvvvvvv PROMETHEUS CONFIG vvvvvvvvvvvvvvvvvvvvv diff --git a/src/cl/nimbus/nimbus_launcher.star b/src/cl/nimbus/nimbus_launcher.star index a26aca94..b860347f 100644 --- a/src/cl/nimbus/nimbus_launcher.star +++ b/src/cl/nimbus/nimbus_launcher.star @@ -1,10 +1,10 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -cl_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_client_context.star") -cl_node_metrics = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_metrics_info.star") -cl_node_ready_conditions = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_ready_conditions.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +cl_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_client_context.star") +cl_node_metrics = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_metrics_info.star") +cl_node_ready_conditions = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_ready_conditions.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") GENESIS_DATA_MOUNTPOINT_ON_CLIENT = "/genesis-data" @@ -130,7 +130,7 @@ def get_config( # 1) https://github.com/status-im/nimbus-eth2/blob/stable/scripts/launch_local_testnet.sh # 2) https://github.com/status-im/nimbus-eth2/blob/67ab477a27e358d605e99bffeb67f98d18218eca/scripts/launch_local_testnet.sh#L417 # WARNING: Do NOT set the --max-peers flag here, as doing so to the exact number of nodes seems to mess things up! - # See: https://github.com/kurtosis-tech/eth2-merge-kurtosis-module/issues/26 + # See: https://github.com/barnabasbusa/eth2-merge-kurtosis-module/issues/26 cmd = [ "mkdir", CONSENSUS_DATA_DIRPATH_IN_SERVICE_CONTAINER, diff --git a/src/cl/prysm/prysm_launcher.star b/src/cl/prysm/prysm_launcher.star index 7e723cf4..4bb32b74 100644 --- a/src/cl/prysm/prysm_launcher.star +++ b/src/cl/prysm/prysm_launcher.star @@ -1,10 +1,10 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -cl_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_client_context.star") -cl_node_metrics = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_metrics_info.star") -cl_node_ready_conditions = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_ready_conditions.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +cl_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_client_context.star") +cl_node_metrics = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_metrics_info.star") +cl_node_ready_conditions = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_ready_conditions.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") IMAGE_SEPARATOR_DELIMITER = "," EXPECTED_NUM_IMAGES = 2 @@ -30,7 +30,6 @@ HTTP_PORT_NUM = 3500 BEACON_MONITORING_PORT_NUM = 8080 VALIDATOR_MONITORING_PORT_NUM = 8081 -BEACON_SUFFIX_SERVICE_NAME = "beacon" VALIDATOR_SUFFIX_SERVICE_NAME = "validator" MIN_PEERS = 1 @@ -85,7 +84,7 @@ def launch( fail("An empty validator image was provided") - beacon_node_service_name = "{0}-{1}".format(service_name, BEACON_SUFFIX_SERVICE_NAME) + beacon_node_service_name = "{0}".format(service_name) validator_node_service_name = "{0}-{1}".format(service_name, VALIDATOR_SUFFIX_SERVICE_NAME) log_level = input_parser.get_client_log_level_or_default(participant_log_level, global_log_level, PRYSM_LOG_LEVELS) diff --git a/src/cl/teku/teku_launcher.star b/src/cl/teku/teku_launcher.star index 516f51bd..00c30a13 100644 --- a/src/cl/teku/teku_launcher.star +++ b/src/cl/teku/teku_launcher.star @@ -1,10 +1,10 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -cl_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_client_context.star") -cl_node_metrics = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_metrics_info.star") -cl_node_ready_conditions = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/cl_node_ready_conditions.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +cl_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_client_context.star") +cl_node_metrics = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_metrics_info.star") +cl_node_ready_conditions = import_module("github.com/barnabasbusa/eth-network-package/src/cl/cl_node_ready_conditions.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") TEKU_BINARY_FILEPATH_IN_IMAGE = "/opt/teku/bin/teku" @@ -23,13 +23,13 @@ VALIDATING_REWARDS_ACCOUNT = "0x0000000000000000000000000000000000000000" # Port IDs TCP_DISCOVERY_PORT_ID = "tcp-discovery" UDP_DISCOVERY_PORT_ID = "udp-discovery" -HTTP_PORT_ID = "http" -METRICS_PORT_ID = "metrics" +HTTP_PORT_ID = "http" +METRICS_PORT_ID = "metrics" # Port nums -DISCOVERY_PORT_NUM = 9000 -HTTP_PORT_NUM = 4000 -METRICS_PORT_NUM = 8008 +DISCOVERY_PORT_NUM = 9000 +HTTP_PORT_NUM = 4000 +METRICS_PORT_NUM = 8008 # 1) The Teku container runs as the "teku" user # 2) Teku requires write access to the validator secrets directory, so it can write a lockfile into it as it uses the keys diff --git a/src/el/besu/besu_launcher.star b/src/el/besu/besu_launcher.star index 58cec59b..8f4595fb 100644 --- a/src/el/besu/besu_launcher.star +++ b/src/el/besu/besu_launcher.star @@ -1,8 +1,8 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -el_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_client_context.star") -el_admin_node_info = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_admin_node_info.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +el_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_client_context.star") +el_admin_node_info = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_admin_node_info.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") # The dirpath of the execution data directory on the client container EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER = "/opt/besu/execution-data" @@ -12,16 +12,14 @@ GENESIS_DATA_DIRPATH_ON_CLIENT_CONTAINER = "/opt/besu/genesis" RPC_PORT_NUM = 8545 WS_PORT_NUM = 8546 DISCOVERY_PORT_NUM = 30303 -ENGINE_HTTP_RPC_PORT_NUM = 8550 -ENGINE_WS_RPC_PORT_NUM = 8551 +ENGINE_HTTP_RPC_PORT_NUM = 8551 # Port IDs RPC_PORT_ID = "rpc" WS_PORT_ID = "ws" TCP_DISCOVERY_PORT_ID = "tcp-discovery" UDP_DISCOVERY_PORT_ID = "udp-discovery" -ENGINE_HTTP_RPC_PORT_ID = "engineHttpRpc" -ENGINE_WS_RPC_PORT_ID = "engineWsRpc" +ENGINE_HTTP_RPC_PORT_ID = "engine-rpc" PRIVATE_IP_ADDRESS_PLACEHOLDER = "KURTOSIS_IP_ADDR_PLACEHOLDER" @@ -31,7 +29,6 @@ USED_PORTS = { TCP_DISCOVERY_PORT_ID: shared_utils.new_port_spec(DISCOVERY_PORT_NUM, shared_utils.TCP_PROTOCOL), UDP_DISCOVERY_PORT_ID: shared_utils.new_port_spec(DISCOVERY_PORT_NUM, shared_utils.UDP_PROTOCOL), ENGINE_HTTP_RPC_PORT_ID: shared_utils.new_port_spec(ENGINE_HTTP_RPC_PORT_NUM, shared_utils.TCP_PROTOCOL), - ENGINE_WS_RPC_PORT_ID: shared_utils.new_port_spec(ENGINE_WS_RPC_PORT_NUM, shared_utils.TCP_PROTOCOL) } ENTRYPOINT_ARGS = ["sh", "-c"] @@ -74,6 +71,7 @@ def launch( WS_PORT_NUM, ENGINE_HTTP_RPC_PORT_NUM, jwt_secret, + service_name ) diff --git a/src/el/el_client_context.star b/src/el/el_client_context.star index 9af4731b..f166323b 100644 --- a/src/el/el_client_context.star +++ b/src/el/el_client_context.star @@ -1,5 +1,6 @@ -def new_el_client_context(client_name, enr, enode, ip_addr, rpc_port_num, ws_port_num, engine_rpc_port_num, jwt_secret): +def new_el_client_context(client_name, enr, enode, ip_addr, rpc_port_num, ws_port_num, engine_rpc_port_num, jwt_secret, service_name = ""): return struct( + service_name = service_name, client_name = client_name, enr = enr, enode = enode, diff --git a/src/el/erigon/erigon_launcher.star b/src/el/erigon/erigon_launcher.star index 524b0cab..fed5aaac 100644 --- a/src/el/erigon/erigon_launcher.star +++ b/src/el/erigon/erigon_launcher.star @@ -1,9 +1,9 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -el_admin_node_info = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_admin_node_info.star") -el_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_client_context.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +el_admin_node_info = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_admin_node_info.star") +el_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_client_context.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") # The dirpath of the execution data directory on the client container EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER = "/home/erigon/execution-data" @@ -71,7 +71,8 @@ def launch( RPC_PORT_NUM, WS_PORT_NUM, ENGINE_RPC_PORT_NUM, - jwt_secret + jwt_secret, + service_name ) @@ -86,7 +87,7 @@ def get_config(network_id, genesis_data, image, existing_el_clients, verbosity_l genesis_json_filepath_on_client, ) - # TODO remove this based on https://github.com/kurtosis-tech/eth2-merge-kurtosis-module/issues/152 + # TODO remove this based on https://github.com/barnabasbusa/eth2-merge-kurtosis-module/issues/152 if len(existing_el_clients) == 0: fail("Erigon needs at least one node to exist, which it treats as the bootnode") diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index c734ab16..111a0b33 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -1,9 +1,9 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -el_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_client_context.star") -el_admin_node_info = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_admin_node_info.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +el_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_client_context.star") +el_admin_node_info = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_admin_node_info.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") RPC_PORT_NUM = 8545 @@ -17,7 +17,6 @@ WS_PORT_ID = "ws" TCP_DISCOVERY_PORT_ID = "tcp-discovery" UDP_DISCOVERY_PORT_ID = "udp-discovery" ENGINE_RPC_PORT_ID = "engine-rpc" -ENGINE_WS_PORT_ID = "engineWs" # TODO(old) Scale this dynamically based on CPUs available and Geth nodes mining NUM_MINING_THREADS = 1 @@ -86,6 +85,7 @@ def launch( WS_PORT_NUM, ENGINE_RPC_PORT_NUM, jwt_secret, + service_name, ) def get_config(network_id, genesis_data, prefunded_geth_keys_artifact_uuid, prefunded_account_info, image, existing_el_clients, verbosity_level, extra_params): diff --git a/src/el/nethermind/nethermind_launcher.star b/src/el/nethermind/nethermind_launcher.star index 0f7d23c2..d2086770 100644 --- a/src/el/nethermind/nethermind_launcher.star +++ b/src/el/nethermind/nethermind_launcher.star @@ -1,9 +1,9 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -input_parser = import_module("github.com/kurtosis-tech/eth-network-package/package_io/input_parser.star") -el_client_context = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_client_context.star") -el_admin_node_info = import_module("github.com/kurtosis-tech/eth-network-package/src/el/el_admin_node_info.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +input_parser = import_module("github.com/barnabasbusa/eth-network-package/package_io/input_parser.star") +el_client_context = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_client_context.star") +el_admin_node_info = import_module("github.com/barnabasbusa/eth-network-package/src/el/el_admin_node_info.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") # The dirpath of the execution data directory on the client container EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER = "/execution-data" @@ -70,7 +70,8 @@ def launch( RPC_PORT_NUM, WS_PORT_NUM, ENGINE_RPC_PORT_NUM, - jwt_secret + jwt_secret, + service_name ) diff --git a/src/participant.star b/src/participant.star index f5e7183e..106d4b2f 100644 --- a/src/participant.star +++ b/src/participant.star @@ -1,7 +1,7 @@ def new_participant(el_client_type, cl_client_type, el_client_context, cl_client_context): - return struct( - el_client_type = el_client_type, - cl_client_type = cl_client_type, - el_client_context = el_client_context, - cl_client_context = cl_client_context - ) + return struct( + el_client_type = el_client_type, + cl_client_type = cl_client_type, + el_client_context = el_client_context, + cl_client_context = cl_client_context + ) diff --git a/src/participant_network.star b/src/participant_network.star index 21917fc0..63c5363b 100644 --- a/src/participant_network.star +++ b/src/participant_network.star @@ -1,28 +1,25 @@ -cl_validator_keystores = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star") -el_genesis_data_generator = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star") -cl_genesis_data_generator = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star") +cl_validator_keystores = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star") +el_genesis_data_generator = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star") +cl_genesis_data_generator = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star") -static_files = import_module("github.com/kurtosis-tech/eth-network-package/static_files/static_files.star") +static_files = import_module("github.com/barnabasbusa/eth-network-package/static_files/static_files.star") -geth = import_module("github.com/kurtosis-tech/eth-network-package/src/el/geth/geth_launcher.star") -besu = import_module("github.com/kurtosis-tech/eth-network-package/src/el/besu/besu_launcher.star") -erigon = import_module("github.com/kurtosis-tech/eth-network-package/src/el/erigon/erigon_launcher.star") -nethermind = import_module("github.com/kurtosis-tech/eth-network-package/src/el/nethermind/nethermind_launcher.star") +geth = import_module("github.com/barnabasbusa/eth-network-package/src/el/geth/geth_launcher.star") +besu = import_module("github.com/barnabasbusa/eth-network-package/src/el/besu/besu_launcher.star") +erigon = import_module("github.com/barnabasbusa/eth-network-package/src/el/erigon/erigon_launcher.star") +nethermind = import_module("github.com/barnabasbusa/eth-network-package/src/el/nethermind/nethermind_launcher.star") -lighthouse = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/lighthouse/lighthouse_launcher.star") -lodestar = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/lodestar/lodestar_launcher.star") -nimbus = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/nimbus/nimbus_launcher.star") -prysm = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/prysm/prysm_launcher.star") -teku = import_module("github.com/kurtosis-tech/eth-network-package/src/cl/teku/teku_launcher.star") +lighthouse = import_module("github.com/barnabasbusa/eth-network-package/src/cl/lighthouse/lighthouse_launcher.star") +lodestar = import_module("github.com/barnabasbusa/eth-network-package/src/cl/lodestar/lodestar_launcher.star") +nimbus = import_module("github.com/barnabasbusa/eth-network-package/src/cl/nimbus/nimbus_launcher.star") +prysm = import_module("github.com/barnabasbusa/eth-network-package/src/cl/prysm/prysm_launcher.star") +teku = import_module("github.com/barnabasbusa/eth-network-package/src/cl/teku/teku_launcher.star") -genesis_constants = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/genesis_constants/genesis_constants.star") -participant_module = import_module("github.com/kurtosis-tech/eth-network-package/src/participant.star") +genesis_constants = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/genesis_constants/genesis_constants.star") +participant_module = import_module("github.com/barnabasbusa/eth-network-package/src/participant.star") -package_io = import_module("github.com/kurtosis-tech/eth-network-package/package_io/constants.star") - -CL_CLIENT_SERVICE_NAME_PREFIX = "cl-client-" -EL_CLIENT_SERVICE_NAME_PREFIX = "el-client-" +package_io = import_module("github.com/barnabasbusa/eth-network-package/package_io/constants.star") BOOT_PARTICIPANT_INDEX = 0 @@ -38,176 +35,185 @@ CL_NODE_STARTUP_TIME = 5 * time.second CL_CLIENT_CONTEXT_BOOTNODE = None def launch_participant_network(plan, participants, network_params, global_log_level): - num_participants = len(participants) - - plan.print("Generating cl validator key stores") - cl_validator_data = cl_validator_keystores.generate_cl_validator_keystores( - plan, - network_params.preregistered_validator_keys_mnemonic, - num_participants, - network_params.num_validator_keys_per_node, - ) - - - plan.print(json.indent(json.encode(cl_validator_data))) - - # We need to send the same genesis time to both the EL and the CL to ensure that timestamp based forking works as expected - final_genesis_timestamp = (time.now() + CL_GENESIS_DATA_GENERATION_TIME + num_participants*CL_NODE_STARTUP_TIME).unix - plan.print("Generating EL data") - el_genesis_generation_config_template = read_file(static_files.EL_GENESIS_GENERATION_CONFIG_TEMPLATE_FILEPATH) - el_genesis_data = el_genesis_data_generator.generate_el_genesis_data( - plan, - el_genesis_generation_config_template, - final_genesis_timestamp, - network_params.network_id, - network_params.deposit_contract_address, - network_params.genesis_delay, - network_params.seconds_per_slot, - network_params.capella_fork_epoch, - network_params.deneb_fork_epoch - ) - - - plan.print(json.indent(json.encode(el_genesis_data))) - - plan.print("Uploading GETH prefunded keys") - - geth_prefunded_keys_artifact_name = plan.upload_files(static_files.GETH_PREFUNDED_KEYS_DIRPATH, name="geth-prefunded-keys") - - plan.print("Uploaded GETH files succesfully, launching EL participants") - - el_launchers = { - package_io.EL_CLIENT_TYPE.geth : {"launcher": geth.new_geth_launcher(network_params.network_id, el_genesis_data, geth_prefunded_keys_artifact_name, genesis_constants.PRE_FUNDED_ACCOUNTS), "launch_method": geth.launch}, - package_io.EL_CLIENT_TYPE.besu : {"launcher": besu.new_besu_launcher(network_params.network_id, el_genesis_data), "launch_method": besu.launch}, - package_io.EL_CLIENT_TYPE.erigon : {"launcher": erigon.new_erigon_launcher(network_params.network_id, el_genesis_data), "launch_method": erigon.launch}, - package_io.EL_CLIENT_TYPE.nethermind : {"launcher": nethermind.new_nethermind_launcher(el_genesis_data), "launch_method": nethermind.launch}, - } - - all_el_client_contexts = [] - - for index, participant in enumerate(participants): - el_client_type = participant.el_client_type - - if el_client_type not in el_launchers: - fail("Unsupported launcher '{0}', need one of '{1}'".format(el_client_type, ",".join([el.name for el in el_launchers.keys()]))) - - el_launcher, launch_method = el_launchers[el_client_type]["launcher"], el_launchers[el_client_type]["launch_method"] - el_service_name = "{0}{1}".format(EL_CLIENT_SERVICE_NAME_PREFIX, index) - - el_client_context = launch_method( - plan, - el_launcher, - el_service_name, - participant.el_client_image, - participant.el_client_log_level, - global_log_level, - all_el_client_contexts, - participant.el_extra_params - ) - - all_el_client_contexts.append(el_client_context) - - plan.print("Succesfully added {0} EL participants".format(num_participants)) - - - plan.print("Generating CL data") - - genesis_generation_config_yml_template = read_file(static_files.CL_GENESIS_GENERATION_CONFIG_TEMPLATE_FILEPATH) - genesis_generation_mnemonics_yml_template = read_file(static_files.CL_GENESIS_GENERATION_MNEMONICS_TEMPLATE_FILEPATH) - total_number_of_validator_keys = network_params.num_validator_keys_per_node * num_participants - cl_genesis_data = cl_genesis_data_generator.generate_cl_genesis_data( - plan, - genesis_generation_config_yml_template, - genesis_generation_mnemonics_yml_template, - el_genesis_data, - final_genesis_timestamp, - network_params.network_id, - network_params.deposit_contract_address, - network_params.seconds_per_slot, - network_params.preregistered_validator_keys_mnemonic, - total_number_of_validator_keys, + num_participants = len(participants) + + plan.print("Generating cl validator key stores") + cl_validator_data = cl_validator_keystores.generate_cl_validator_keystores( + plan, + network_params.preregistered_validator_keys_mnemonic, + num_participants, + network_params.num_validator_keys_per_node, + ) + + + plan.print(json.indent(json.encode(cl_validator_data))) + + # We need to send the same genesis time to both the EL and the CL to ensure that timestamp based forking works as expected + final_genesis_timestamp = (time.now() + CL_GENESIS_DATA_GENERATION_TIME + num_participants*CL_NODE_STARTUP_TIME).unix + plan.print("Generating EL data") + el_genesis_generation_config_template = read_file(static_files.EL_GENESIS_GENERATION_CONFIG_TEMPLATE_FILEPATH) + el_genesis_data = el_genesis_data_generator.generate_el_genesis_data( + plan, + el_genesis_generation_config_template, + final_genesis_timestamp, + network_params.network_id, + network_params.deposit_contract_address, + network_params.genesis_delay, + network_params.seconds_per_slot, + network_params.deneb_fork_epoch + ) + + + plan.print(json.indent(json.encode(el_genesis_data))) + + plan.print("Uploading GETH prefunded keys") + + geth_prefunded_keys_artifact_name = plan.upload_files(static_files.GETH_PREFUNDED_KEYS_DIRPATH, name="geth-prefunded-keys") + + plan.print("Uploaded GETH files succesfully, launching EL participants") + + el_launchers = { + package_io.EL_CLIENT_TYPE.geth : {"launcher": geth.new_geth_launcher(network_params.network_id, el_genesis_data, geth_prefunded_keys_artifact_name, genesis_constants.PRE_FUNDED_ACCOUNTS), "launch_method": geth.launch}, + package_io.EL_CLIENT_TYPE.besu : {"launcher": besu.new_besu_launcher(network_params.network_id, el_genesis_data), "launch_method": besu.launch}, + package_io.EL_CLIENT_TYPE.erigon : {"launcher": erigon.new_erigon_launcher(network_params.network_id, el_genesis_data), "launch_method": erigon.launch}, + package_io.EL_CLIENT_TYPE.nethermind : {"launcher": nethermind.new_nethermind_launcher(el_genesis_data), "launch_method": nethermind.launch}, + } + + all_el_client_contexts = [] + + for index, participant in enumerate(participants): + el_client_type = participant.el_client_type + cl_client_type = participant.cl_client_type + pair_id = "-".join([el_client_type, cl_client_type]) + + # Update the counter for this pair and fetch the current count + client_pair_counter[pair_id] = client_pair_counter.get(pair_id, -1) + 1 + pair_index = client_pair_counter[pair_id] + + if el_client_type not in el_launchers: + fail("Unsupported launcher '{0}', need one of '{1}'".format(el_client_type, ",".join([el.name for el in el_launchers.keys()]))) + + el_launcher, launch_method = el_launchers[el_client_type]["launcher"], el_launchers[el_client_type]["launch_method"] + el_service_name = "{0}-{1}-{2}".format(el_client_type, cl_client_type, pair_index) + + + el_client_context = launch_method( + plan, + el_launcher, + el_service_name, + participant.el_client_image, + participant.el_client_log_level, + global_log_level, + all_el_client_contexts, + participant.el_extra_params + ) + + all_el_client_contexts.append(el_client_context) + + plan.print("Succesfully added {0} EL participants".format(num_participants)) + + + plan.print("Generating CL data") + + genesis_generation_config_yml_template = read_file(static_files.CL_GENESIS_GENERATION_CONFIG_TEMPLATE_FILEPATH) + genesis_generation_mnemonics_yml_template = read_file(static_files.CL_GENESIS_GENERATION_MNEMONICS_TEMPLATE_FILEPATH) + total_number_of_validator_keys = network_params.num_validator_keys_per_node * num_participants + cl_genesis_data = cl_genesis_data_generator.generate_cl_genesis_data( + plan, + genesis_generation_config_yml_template, + genesis_generation_mnemonics_yml_template, + el_genesis_data, + final_genesis_timestamp, + network_params.network_id, + network_params.deposit_contract_address, + network_params.seconds_per_slot, + network_params.preregistered_validator_keys_mnemonic, + total_number_of_validator_keys, network_params.genesis_delay, - network_params.capella_fork_epoch, network_params.deneb_fork_epoch - ) + ) + + plan.print(json.indent(json.encode(cl_genesis_data))) - plan.print(json.indent(json.encode(cl_genesis_data))) + plan.print("Launching CL network") - plan.print("Launching CL network") + cl_launchers = { + package_io.CL_CLIENT_TYPE.lighthouse : {"launcher": lighthouse.new_lighthouse_launcher(cl_genesis_data), "launch_method": lighthouse.launch}, + package_io.CL_CLIENT_TYPE.lodestar: {"launcher": lodestar.new_lodestar_launcher(cl_genesis_data), "launch_method": lodestar.launch}, + package_io.CL_CLIENT_TYPE.nimbus: {"launcher": nimbus.new_nimbus_launcher(cl_genesis_data), "launch_method": nimbus.launch}, + package_io.CL_CLIENT_TYPE.prysm: {"launcher": prysm.new_prysm_launcher(cl_genesis_data, cl_validator_data.prysm_password_relative_filepath, cl_validator_data.prysm_password_artifact_uuid), "launch_method": prysm.launch}, + package_io.CL_CLIENT_TYPE.teku: {"launcher": teku.new_teku_launcher(cl_genesis_data), "launch_method": teku.launch}, + } - cl_launchers = { - package_io.CL_CLIENT_TYPE.lighthouse : {"launcher": lighthouse.new_lighthouse_launcher(cl_genesis_data), "launch_method": lighthouse.launch}, - package_io.CL_CLIENT_TYPE.lodestar: {"launcher": lodestar.new_lodestar_launcher(cl_genesis_data), "launch_method": lodestar.launch}, - package_io.CL_CLIENT_TYPE.nimbus: {"launcher": nimbus.new_nimbus_launcher(cl_genesis_data), "launch_method": nimbus.launch}, - package_io.CL_CLIENT_TYPE.prysm: {"launcher": prysm.new_prysm_launcher(cl_genesis_data, cl_validator_data.prysm_password_relative_filepath, cl_validator_data.prysm_password_artifact_uuid), "launch_method": prysm.launch}, - package_io.CL_CLIENT_TYPE.teku: {"launcher": teku.new_teku_launcher(cl_genesis_data), "launch_method": teku.launch}, - } + all_cl_client_contexts = [] + preregistered_validator_keys_for_nodes = cl_validator_data.per_node_keystores - all_cl_client_contexts = [] - preregistered_validator_keys_for_nodes = cl_validator_data.per_node_keystores + for index, participant in enumerate(participants): + cl_client_type = participant.cl_client_type + el_client_type = participant.el_client_type - for index, participant in enumerate(participants): - cl_client_type = participant.cl_client_type + # Update the counter for this pair and fetch the current count + client_pair_counter[pair_id] = client_pair_counter.get(pair_id, -1) + 1 + pair_index = client_pair_counter[pair_id] - if cl_client_type not in cl_launchers: - fail("Unsupported launcher '{0}', need one of '{1}'".format(cl_client_type, ",".join([cl.name for cl in cl_launchers.keys()]))) - - cl_launcher, launch_method = cl_launchers[cl_client_type]["launcher"], cl_launchers[cl_client_type]["launch_method"] - cl_service_name = "{0}{1}".format(CL_CLIENT_SERVICE_NAME_PREFIX, index) + if cl_client_type not in cl_launchers: + fail("Unsupported launcher '{0}', need one of '{1}'".format(cl_client_type, ",".join([cl.name for cl in cl_launchers.keys()]))) - new_cl_node_validator_keystores = preregistered_validator_keys_for_nodes[index] + cl_launcher, launch_method = cl_launchers[cl_client_type]["launcher"], cl_launchers[cl_client_type]["launch_method"] + cl_service_name = "{0}-{1}-{2}".format(cl_client_type, participant.el_client_type, pair_index) - el_client_context = all_el_client_contexts[index] + new_cl_node_validator_keystores = preregistered_validator_keys_for_nodes[index] - cl_client_context = None + el_client_context = all_el_client_contexts[index] - if index == 0: - cl_client_context = launch_method( - plan, - cl_launcher, - cl_service_name, - participant.cl_client_image, - participant.cl_client_log_level, - global_log_level, - CL_CLIENT_CONTEXT_BOOTNODE, - el_client_context, - new_cl_node_validator_keystores, - participant.beacon_extra_params, - participant.validator_extra_params - ) - else: - boot_cl_client_ctx = all_cl_client_contexts[0] - cl_client_context = launch_method( - plan, - cl_launcher, - cl_service_name, - participant.cl_client_image, - participant.cl_client_log_level, - global_log_level, - boot_cl_client_ctx, - el_client_context, - new_cl_node_validator_keystores, - participant.beacon_extra_params, - participant.validator_extra_params - ) + cl_client_context = None - all_cl_client_contexts.append(cl_client_context) + if index == 0: + cl_client_context = launch_method( + plan, + cl_launcher, + cl_service_name, + participant.cl_client_image, + participant.cl_client_log_level, + global_log_level, + CL_CLIENT_CONTEXT_BOOTNODE, + el_client_context, + new_cl_node_validator_keystores, + participant.beacon_extra_params, + participant.validator_extra_params + ) + else: + boot_cl_client_ctx = all_cl_client_contexts[0] + cl_client_context = launch_method( + plan, + cl_launcher, + cl_service_name, + participant.cl_client_image, + participant.cl_client_log_level, + global_log_level, + boot_cl_client_ctx, + el_client_context, + new_cl_node_validator_keystores, + participant.beacon_extra_params, + participant.validator_extra_params + ) - plan.print("Succesfully added {0} CL participants".format(num_participants)) + all_cl_client_contexts.append(cl_client_context) - all_participants = [] + plan.print("Succesfully added {0} CL participants".format(num_participants)) - for index, participant in enumerate(participants): - el_client_type = participant.el_client_type - cl_client_type = participant.cl_client_type + all_participants = [] - el_client_context = all_el_client_contexts[index] - cl_client_context = all_cl_client_contexts[index] + for index, participant in enumerate(participants): + el_client_type = participant.el_client_type + cl_client_type = participant.cl_client_type - participant_entry = participant_module.new_participant(el_client_type, cl_client_type, el_client_context, cl_client_context) + el_client_context = all_el_client_contexts[index] + cl_client_context = all_cl_client_contexts[index] - all_participants.append(participant_entry) + participant_entry = participant_module.new_participant(el_client_type, cl_client_type, el_client_context, cl_client_context) + all_participants.append(participant_entry) - return all_participants, final_genesis_timestamp + return all_participants, final_genesis_timestamp \ No newline at end of file diff --git a/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star b/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star index 4b7de372..29d25905 100644 --- a/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star +++ b/src/prelaunch_data_generator/cl_genesis/cl_genesis_data_generator.star @@ -1,6 +1,6 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -cl_genesis_data = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/cl_genesis/cl_genesis_data.star") -prelaunch_data_generator_launcher = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +cl_genesis_data = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/cl_genesis/cl_genesis_data.star") +prelaunch_data_generator_launcher = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") # Needed to copy the JWT secret and the EL genesis.json file @@ -37,8 +37,7 @@ def generate_cl_genesis_data( preregistered_validator_keys_mnemonic, total_num_validator_keys_to_preregister, genesis_delay, - capella_fork_epoch, - deneb_fork_epoch, + deneb_fork_epoch ): template_data = new_cl_genesis_config_template_data( @@ -49,9 +48,8 @@ def generate_cl_genesis_data( preregistered_validator_keys_mnemonic, deposit_contract_address, genesis_delay, - capella_fork_epoch, deneb_fork_epoch - ) + ) genesis_generation_mnemonics_template_and_data = shared_utils.new_template_and_data(genesis_generation_mnemonics_yml_template, template_data) genesis_generation_config_template_and_data = shared_utils.new_template_and_data(genesis_generation_config_yml_template, template_data) @@ -124,7 +122,7 @@ def generate_cl_genesis_data( cl_genesis_generation_cmd = [ CL_GENESIS_GENERATION_BINARY_FILEPATH_ON_CONTAINER, - "merge", + "capella", "--config", shared_utils.path_join(OUTPUT_DIRPATH_ON_GENERATOR, GENESIS_CONFIG_YML_FILENAME), "--mnemonics", shared_utils.path_join(OUTPUT_DIRPATH_ON_GENERATOR, MNEMONICS_YML_FILENAME), "--eth1-config", shared_utils.path_join(EL_GENESIS_DIRPATH_ON_GENERATOR, el_genesis_data.geth_genesis_json_relative_filepath), @@ -137,7 +135,7 @@ def generate_cl_genesis_data( parsed_beacon_state_file_generation = [ CL_PARSED_BEACON_STATE_GENERATOR_BINARY, "pretty", - "bellatrix", + "capella", "BeaconState", shared_utils.path_join(OUTPUT_DIRPATH_ON_GENERATOR, GENESIS_STATE_FILENAME), ">", @@ -189,7 +187,7 @@ def generate_cl_genesis_data( -def new_cl_genesis_config_template_data(network_id, seconds_per_slot, unix_timestamp, num_validator_keys_to_preregister, preregistered_validator_keys_mnemonic, deposit_contract_address, genesis_delay, capella_fork_epoch, deneb_fork_epoch): +def new_cl_genesis_config_template_data(network_id, seconds_per_slot, unix_timestamp, num_validator_keys_to_preregister, preregistered_validator_keys_mnemonic, deposit_contract_address, genesis_delay, deneb_fork_epoch): return { "NetworkId": network_id, "SecondsPerSlot": seconds_per_slot, @@ -198,6 +196,5 @@ def new_cl_genesis_config_template_data(network_id, seconds_per_slot, unix_times "PreregisteredValidatorKeysMnemonic": preregistered_validator_keys_mnemonic, "DepositContractAddress": deposit_contract_address, "GenesisDelay": genesis_delay, - "CapellaForkEpoch": capella_fork_epoch, - "DenebForkEpoch": deneb_fork_epoch - } + "DenebForkEpoch": deneb_fork_epoch + } diff --git a/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star b/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star index 7f760e3d..ae43c4f9 100644 --- a/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star +++ b/src/prelaunch_data_generator/cl_validator_keystores/cl_validator_keystore_generator.star @@ -1,8 +1,8 @@ -prelaunch_data_generator_launcher = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") +prelaunch_data_generator_launcher = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -keystore_files_module = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/keystore_files.star") -keystores_result = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/generate_keystores_result.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +keystore_files_module = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/keystore_files.star") +keystores_result = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/cl_validator_keystores/generate_keystores_result.star") NODE_KEYSTORES_OUTPUT_DIRPATH_FORMAT_STR = "/node-{0}-keystores" diff --git a/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star b/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star index 02ed1910..08e2bad6 100644 --- a/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star +++ b/src/prelaunch_data_generator/el_genesis/el_genesis_data_generator.star @@ -1,6 +1,6 @@ -shared_utils = import_module("github.com/kurtosis-tech/eth-network-package/shared_utils/shared_utils.star") -el_genesis = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/el_genesis/el_genesis_data.star") -prelaunch_data_generator_launcher = import_module("github.com/kurtosis-tech/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") +shared_utils = import_module("github.com/barnabasbusa/eth-network-package/shared_utils/shared_utils.star") +el_genesis = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/el_genesis/el_genesis_data.star") +prelaunch_data_generator_launcher = import_module("github.com/barnabasbusa/eth-network-package/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star") CONFIG_DIRPATH_ON_GENERATOR = "/config" GENESIS_CONFIG_FILENAME = "genesis-config.yaml" @@ -34,9 +34,8 @@ def generate_el_genesis_data( deposit_contract_address, genesis_delay, seconds_per_slot, - capella_fork_epoch, - deneb_fork_epoch - ): + deneb_fork_epoch + ): template_data = genesis_generation_config_template_data( network_id, @@ -44,8 +43,7 @@ def generate_el_genesis_data( genesis_unix_timestamp, genesis_delay, seconds_per_slot, - capella_fork_epoch, - deneb_fork_epoch + deneb_fork_epoch ) genesis_config_file_template_and_data = shared_utils.new_template_and_data(genesis_generation_config_template, template_data) @@ -140,13 +138,12 @@ def generate_el_genesis_data( return result -def genesis_generation_config_template_data(network_id, deposit_contract_address, unix_timestamp, genesis_delay, seconds_per_slot, capella_fork_epoch, deneb_fork_epoch): +def genesis_generation_config_template_data(network_id, deposit_contract_address, unix_timestamp, genesis_delay, seconds_per_slot, deneb_fork_epoch): return { "NetworkId": network_id, "DepositContractAddress": deposit_contract_address, "UnixTimestamp": unix_timestamp, "GenesisDelay": genesis_delay, "SecondsPerSlot": seconds_per_slot, - "CapellaForkEpoch": capella_fork_epoch, - "DenebForkEpoch": deneb_fork_epoch - } + "DenebForkEpoch": deneb_fork_epoch + } diff --git a/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star b/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star index b02bb5f9..9831977e 100644 --- a/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star +++ b/src/prelaunch_data_generator/prelaunch_data_generator_launcher/prelaunch_data_generator_launcher.star @@ -1,4 +1,4 @@ -IMAGE = "ethpandaops/ethereum-genesis-generator:1.3.1" +IMAGE = "bbusa/ethereum-genesis-generator:capella" SERVICE_NAME_PREFIX = "prelaunch-data-generator-" diff --git a/static_files/genesis-generation-config/cl/config.yaml.tmpl b/static_files/genesis-generation-config/cl/config.yaml.tmpl index 066c224e..47f6b6e9 100644 --- a/static_files/genesis-generation-config/cl/config.yaml.tmpl +++ b/static_files/genesis-generation-config/cl/config.yaml.tmpl @@ -34,7 +34,7 @@ TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: 18446744073709551615 # Capella CAPELLA_FORK_VERSION: 0x40000038 -CAPELLA_FORK_EPOCH: {{ .CapellaForkEpoch }} +CAPELLA_FORK_EPOCH: 0 # DENEB DENEB_FORK_VERSION: 0x50000038 diff --git a/static_files/genesis-generation-config/el/genesis-config.yaml.tmpl b/static_files/genesis-generation-config/el/genesis-config.yaml.tmpl index 9448b24f..bf41a384 100644 --- a/static_files/genesis-generation-config/el/genesis-config.yaml.tmpl +++ b/static_files/genesis-generation-config/el/genesis-config.yaml.tmpl @@ -16,5 +16,4 @@ genesis_timestamp: {{ .UnixTimestamp }} terminal_total_difficulty: 0 genesis_delay: {{ .GenesisDelay }} slot_duration_in_seconds: {{ .SecondsPerSlot }} -capella_fork_epoch: {{ .CapellaForkEpoch }} deneb_fork_epoch: {{ .DenebForkEpoch }} diff --git a/static_files/static_files.star b/static_files/static_files.star index 13f641a6..8db0cd08 100644 --- a/static_files/static_files.star +++ b/static_files/static_files.star @@ -1,5 +1,5 @@ # The path on the module container where static files are housed -STATIC_FILES_DIRPATH = "github.com/kurtosis-tech/eth-network-package/static_files" +STATIC_FILES_DIRPATH = "github.com/barnabasbusa/eth-network-package/static_files" # Geth + CL genesis generation GENESIS_GENERATION_CONFIG_DIRPATH = STATIC_FILES_DIRPATH + "/genesis-generation-config"