91a7f51ab0
## Issue Addressed N/A ## Proposed Changes Modifies the local testnet scripts to start a network with genesis validators embedded into the genesis state. This allows us to start a local testnet without the need for deploying a deposit contract or depositing validators pre-genesis. This also enables us to start a local test network at any fork we want without going through fork transitions. Also adds scripts to start multiple geth clients and peer them with each other and peer the geth clients with beacon nodes to start a post merge local testnet. ## Additional info Adds a new lcli command `mnemonics-validators` that generates validator directories derived from a given mnemonic. Adds a new `derived-genesis-state` option to the `lcli new-testnet` command to generate a genesis state populated with validators derived from a mnemonic.
65 lines
1.6 KiB
Bash
65 lines
1.6 KiB
Bash
# Path to the geth binary
|
|
GETH_BINARY=geth
|
|
EL_BOOTNODE_BINARY=bootnode
|
|
|
|
# Base directories for the validator keys and secrets
|
|
DATADIR=~/.lighthouse/local-testnet
|
|
|
|
# Directory for the eth2 config
|
|
TESTNET_DIR=$DATADIR/testnet
|
|
|
|
# Mnemonic for generating validator keys
|
|
MNEMONIC_PHRASE="vast thought differ pull jewel broom cook wrist tribe word before omit"
|
|
|
|
EL_BOOTNODE_ENODE="enode://51ea9bb34d31efc3491a842ed13b8cab70e753af108526b57916d716978b380ed713f4336a80cdb85ec2a115d5a8c0ae9f3247bed3c84d3cb025c6bab311062c@127.0.0.1:0?discport=30301"
|
|
|
|
# Hardcoded deposit contract
|
|
DEPOSIT_CONTRACT_ADDRESS=4242424242424242424242424242424242424242
|
|
|
|
GENESIS_FORK_VERSION=0x42424242
|
|
|
|
# Block hash generated from genesis.json in directory
|
|
ETH1_BLOCK_HASH=4b0e17cf5c04616d64526d292b80a1f2720cf2195d990006e4ea6950c5bbcb9f
|
|
|
|
VALIDATOR_COUNT=80
|
|
GENESIS_VALIDATOR_COUNT=80
|
|
|
|
# Number of beacon_node instances that you intend to run
|
|
BN_COUNT=4
|
|
|
|
# Number of validator clients
|
|
VC_COUNT=$BN_COUNT
|
|
|
|
# Number of seconds to delay to start genesis block.
|
|
# If started by a script this can be 0, if starting by hand
|
|
# use something like 180.
|
|
GENESIS_DELAY=0
|
|
|
|
# Port for P2P communication with bootnode
|
|
BOOTNODE_PORT=4242
|
|
|
|
# Network ID and Chain ID of local eth1 test network
|
|
CHAIN_ID=4242
|
|
|
|
# Hard fork configuration
|
|
ALTAIR_FORK_EPOCH=0
|
|
BELLATRIX_FORK_EPOCH=0
|
|
CAPELLA_FORK_EPOCH=1
|
|
|
|
TTD=0
|
|
|
|
# Spec version (mainnet or minimal)
|
|
SPEC_PRESET=mainnet
|
|
|
|
# Seconds per Eth2 slot
|
|
SECONDS_PER_SLOT=3
|
|
|
|
# Seconds per Eth1 block
|
|
SECONDS_PER_ETH1_BLOCK=1
|
|
|
|
# Proposer score boost percentage
|
|
PROPOSER_SCORE_BOOST=40
|
|
|
|
# Command line arguments for validator client
|
|
VC_ARGS=""
|