print("Launching participant network with {0} participants and the following network params {1}".format(num_participants, json.indent(json.encode(network_params))))
print("Launching participant network with {0} participants and the following network params {1}".format(num_participants, input_args_with_right_defaults.network_params))
preregistered_validator_keys_mnemonic = "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete",
if required_num_validtors < actual_num_validators:
fail("required_num_validtors - {0} is greater than actual_num_validators - {1}".format(required_num_validtors, actual_num_validators))
# Remove if nethermind doesn't break as second node we already test above if its the first node
if len(result["participants"]) >= 2 and result["participants"][1]["el_client_type"] == NETHERMIND_NODE_NAME:
fail("nethermind can't be the first or second node")
return result
def get_value_or_name(value):
if type(value) == ENUM_TYPE:
return value.name
return value
def default_module_input():
network_params = default_network_params()
participants = default_partitcipants()
return {
"participants": participants,
"network_params": network_params,
"launch_additional_services" : True,
"wait_for_finalization": False,
"wait_for_verifications": False,
"verifications_epoch_limit": 5,
"global_log_level": "info"
}
def default_network_params():
# this is temporary till we get params working
return {
"preregistered_validator_keys_mnemonic" : "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete",
// The address of the staking contract address on the Eth1 chain
optionalstringdeposit_contract_address=2;
// Number of seconds per slot on the Beacon chain
optionaluint32seconds_per_slot=3;
// Number of slots in an epoch on the Beacon chain
optionaluint32slots_per_epoch=4;
// The number of validator keys that each CL validator node should get
optionaluint32num_validators_per_keynode=5;
// This menmonic will a) be used to create keystores for all the types of validators that we have and b) be used to generate a CL genesis.ssz that has the children
// validator keys already preregistered as validators