owned this note
owned this note
Published
Linked with GitHub
# Towards a multi-client ethereum 2.0 testnet
_Field notes of Afri trying to see where the top ETH 2.0 clients are regarding interop._
- Previous research: https://hackmd.io/Nx204wkTSgeGB0UzNXhz9g
- Thoughts on chain specs: https://github.com/ethereum/eth2.0-specs/issues/1662
#### Step 0 - the deposit contract "ceremony"
- Reference: https://ethereum.stackexchange.com/questions/80258
- Will use Görli testnet for deposit contract: https://github.com/goerli/testnet
- Will use a new contract instance to not interfere with existing testnets
- Ref: https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/deposit-contract.md
- Contract: https://github.com/ethereum/eth2.0-specs/blob/dev/deposit_contract/contracts/validator_registration.vy
- https://github.com/ethereum/eth2.0-pm/blob/master/interop/deposit_contract_testnets/README.md
```
~/.opt/eth2.0-specs/deposit_contract/contracts dev 16s
❯ vyper validator_registration.vy
0x740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052341561009857600080fd5b6101406000601f818352015b600061014051602081106100b757600080fd5b600260c052602060c020015460208261016001015260208101905061014051602081106100e357600080fd5b600260c052602060c020015460208261016001015260208101905080610160526101609050602060c0825160208401600060025af161012157600080fd5b60c05190506101405160016060518183018060405190131561014257600080fd5b809190121561015057600080fd5b905090506020811061016157600080fd5b600260c052602060c02001555b81516001018083528114156100a4575b50506110a256600436101561000d57610f17565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260001561020e575b6101605261014052600061018052610140516101a0526101c060006008818352015b61018051600881811b90509050610180526101805160ff6101a051168181830110156100f657600080fd5b80820190509050610180526101a0517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88160081c905090506101a0525b81516001018083528114156100cb575b505060186008602082066101e0016020828401111561016157600080fd5b60208061020082610180600060045af15050818152809050905090508051602001806102a08284600060045af161019757600080fd5b50506102a051806102c001818260206001820306601f820103905003368237505060206102805260406102a0510160206001820306601f8201039050610260525b6000610260511115156101ea57610206565b60206102605103610280015160206102605103610260526101d8565b610160515650005b63c5f2892f60005114156104a257341561022757600080fd5b6000610140526101405161016052600154610180526101a060006020818352015b60016001610180511614156102c95760006101a0516020811061026a57600080fd5b600060c052602060c02001546020826102400101526020810190506101605160208261024001015260208101905080610240526102409050602060c0825160208401600060025af16102bb57600080fd5b60c051905061016052610337565b6000610160516020826101c00101526020810190506101a051602081106102ef57600080fd5b600260c052602060c02001546020826101c0010152602081019050806101c0526101c09050602060c0825160208401600060025af161032d57600080fd5b60c0519050610160525b61018080516002808061034957600080fd5b8204905090508152505b8151600101808352811415610248575b505060006101605160208261046001015260208101905061014051610160516101805163806732896102e0526001546103005261030051600658016100a9565b506103605260006103c0525b6103605160206001820306601f82010390506103c0511015156103d1576103ea565b6103c05161038001526103c0516020016103c0526103af565b61018052610160526101405261036060088060208461046001018260208501600060045af150508051820191505060006018602082066103e0016020828401111561043457600080fd5b60208061040082610140600060045af150508181528090509050905060188060208461046001018260208501600060045af150508051820191505080610460526104609050602060c0825160208401600060025af161049257600080fd5b60c051905060005260206000f350005b63621fd130600051141561057f5734156104bb57600080fd5b6380673289610140526001546101605261016051600658016100a9565b506101c0526000610220525b6101c05160206001820306601f8201039050610220511015156105065761051f565b610220516101e0015261022051602001610220526104e4565b6101c08051602001806102808284600060045af161053c57600080fd5b505061028051806102a001818260206001820306601f82010390500336823750506020610260526040610280510160206001820306601f8201039050610260f350005b63228951186000511415610f165760506004356004016101403760306004356004013511156105ad57600080fd5b60406024356004016101c03760206024356004013511156105cd57600080fd5b60806044356004016102203760606044356004013511156105ed57600080fd5b63ffffffff600154106105ff57600080fd5b34633b9aca00808061061057600080fd5b8204905090506102c052633b9aca006102c051101561062e57600080fd5b6030610140511461063e57600080fd5b60206101c0511461064e57600080fd5b6060610220511461065e57600080fd5b610140610340525b6103405151602061034051016103405261034061034051101561068857610666565b6380673289610360526102c0516103805261038051600658016100a9565b506103e0526000610440525b6103e05160206001820306601f8201039050610440511015156106d4576106ed565b61044051610400015261044051602001610440526106b2565b610320610340525b6103405152602061034051036103405261014061034051101515610718576106f5565b6103e08051602001806102e08284600060045af161073557600080fd5b5050610140610460525b610460515160206104605101610460526104606104605110156107615761073f565b6380673289610480526001546104a0526104a051600658016100a9565b50610500526000610560525b6105005160206001820306601f8201039050610560511015156107ac576107c5565b610560516105200152610560516020016105605261078a565b610440610460525b61046051526020610460510361046052610140610460511015156107f0576107cd565b6105008051602001806105808284600060045af161080d57600080fd5b505060a06105e0526105e051610620526101408051602001806105e051610620018284600060045af161083f57600080fd5b50506105e05161062001518060206105e051610620010101818260206001820306601f820103905003368237505060206105e051610620015160206001820306601f82010390506105e05101016105e0526105e051610640526101c08051602001806105e051610620018284600060045af16108ba57600080fd5b50506105e05161062001518060206105e051610620010101818260206001820306601f820103905003368237505060206105e051610620015160206001820306601f82010390506105e05101016105e0526105e051610660526102e08051602001806105e051610620018284600060045af161093557600080fd5b50506105e05161062001518060206105e051610620010101818260206001820306601f820103905003368237505060206105e051610620015160206001820306601f82010390506105e05101016105e0526105e051610680526102208051602001806105e051610620018284600060045af16109b057600080fd5b50506105e05161062001518060206105e051610620010101818260206001820306601f820103905003368237505060206105e051610620015160206001820306601f82010390506105e05101016105e0526105e0516106a0526105808051602001806105e051610620018284600060045af1610a2b57600080fd5b50506105e05161062001518060206105e051610620010101818260206001820306601f820103905003368237505060206105e051610620015160206001820306601f82010390506105e05101016105e0527f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c56105e051610620a160006106c052600061014060308060208461078001018260208501600060045af150508051820191505060006010602082066107000160208284011115610aeb57600080fd5b602080610720826106c0600060045af150508181528090509050905060108060208461078001018260208501600060045af150508051820191505080610780526107809050602060c0825160208401600060025af1610b4957600080fd5b60c05190506106e0526000600060406020820661082001610220518284011115610b7257600080fd5b6060806108408260206020880688030161022001600060045af1505081815280905090509050602060c0825160208401600060025af1610bb157600080fd5b60c0519050602082610a20010152602081019050600060406020602082066108e001610220518284011115610be557600080fd5b6060806109008260206020880688030161022001600060045af15050818152809050905090506020806020846109a001018260208501600060045af15050805182019150506106c0516020826109a0010152602081019050806109a0526109a09050602060c0825160208401600060025af1610c6057600080fd5b60c0519050602082610a2001015260208101905080610a2052610a209050602060c0825160208401600060025af1610c9757600080fd5b60c051905061080052600060006106e051602082610ac00101526020810190506101c0602080602084610ac001018260208501600060045af150508051820191505080610ac052610ac09050602060c0825160208401600060025af1610cfc57600080fd5b60c0519050602082610c4001015260208101905060006102e0600880602084610bc001018260208501600060045af15050805182019150506000601860208206610b400160208284011115610d5057600080fd5b602080610b60826106c0600060045af1505081815280905090509050601880602084610bc001018260208501600060045af150508051820191505061080051602082610bc001015260208101905080610bc052610bc09050602060c0825160208401600060025af1610dc157600080fd5b60c0519050602082610c4001015260208101905080610c4052610c409050602060c0825160208401600060025af1610df857600080fd5b60c0519050610aa052606435610aa05114610e1257600080fd5b600180546001818183011015610e2757600080fd5b80820190509050815550600154610cc052610ce060006020818352015b60016001610cc051161415610e7957610aa051610ce05160208110610e6857600080fd5b600060c052602060c0200155610f12565b6000610ce05160208110610e8c57600080fd5b600060c052602060c0200154602082610d00010152602081019050610aa051602082610d0001015260208101905080610d0052610d009050602060c0825160208401600060025af1610edd57600080fd5b60c0519050610aa052610cc0805160028080610ef857600080fd5b8204905090508152505b8151600101808352811415610e44575b5050005b5b60006000fd5b6101856110a2036101856000396101856110a2036000f3
~/.opt/eth2.0-specs/deposit_contract/contracts dev
❯ vyper -f abi validator_registration.vy
[{"name": "DepositEvent", "inputs": [{"type": "bytes", "name": "pubkey", "indexed": false}, {"type": "bytes", "name": "withdrawal_credentials", "indexed": false}, {"type": "bytes", "name": "amount", "indexed": false}, {"type": "bytes", "name": "signature", "indexed": false}, {"type": "bytes", "name": "index", "indexed": false}], "anonymous": false, "type": "event"}, {"outputs": [], "inputs": [], "constant": false, "payable": false, "type": "constructor"}, {"name": "get_deposit_root", "outputs": [{"type": "bytes32", "name": ""}], "inputs": [], "constant": true, "payable": false, "type": "function", "gas": 112305}, {"name": "get_deposit_count", "outputs": [{"type": "bytes", "name": ""}], "inputs": [], "constant": true, "payable": false, "type": "function", "gas": 14558}, {"name": "deposit", "outputs": [], "inputs": [{"type": "bytes", "name": "pubkey"}, {"type": "bytes", "name": "withdrawal_credentials"}, {"type": "bytes", "name": "signature"}, {"type": "bytes32", "name": "deposit_data_root"}], "constant": false, "payable": true, "type": "function", "gas": 1331065}]
```
- Görli deposit contract address: `0xaA888248144Bc5d584a7f400839d0D912F21C39A`
- https://goerli.etherscan.io/address/0xaa888248144bc5d584a7f400839d0d912f21c39a
- deposit root: `0xd70a234731285c6804c2a4f56711ddb8c82c99740f207854891028af34e27e5e`
- deposit count: `0x0000000000000000`
- Görli deposit contract deploy block: `2355031`
#### Step 1 - the transition specification
- Giving this testnet a working title `schlesi`
- Using a modified `mainnet.yaml` https://github.com/ethereum/eth2.0-specs/blob/dev/configs/mainnet.yaml
- `DEPOSIT_CONTRACT_ADDRESS: 0xaA888248144Bc5d584a7f400839d0D912F21C39A`
- `GENESIS_FORK_VERSION: 0x00000539`
- `BLS_WITHDRAWAL_PREFIX: 0x05`
- `MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16`
- `MIN_GENESIS_TIME: 1584316800` (Mar/16, 2020)
- `MIN_DEPOSIT_AMOUNT: 100000000` (0.1 GöETH)
- `MAX_EFFECTIVE_BALANCE: 3200000000` (3.2 GöETH)
- `EJECTION_BALANCE: 1600000000` (1.6 GöETH)
- `EFFECTIVE_BALANCE_INCREMENT: 100000000` (0.1 GöETH)
- `ETH1_FOLLOW_DISTANCE: 16`
- `MIN_GENESIS_DELAY: 3600`
- Full config: https://gist.github.com/q9f/d6eea3ea3356e41bde81864143284ce9
- See also for unknown constants: https://github.com/ethereum/eth2.0-specs/issues/1662
#### Step 2 - bootstrapping the network with three clients
- Reference: https://ethereum.stackexchange.com/questions/80264
- "ETH2 Testnets" https://github.com/eth2-clients/eth2-testnets
- **Lighthouse**
- Supports reading YML configs
- Requires additional files for deposit contract, deposit block, genesis state, boot records
- `lcli` allows for configuring testnets
- Resources: https://notes.ethereum.org/--DbdqzWTMOABRmcGq0Hkg
```
~/.opt/lighthouse master
❯ target/release/lcli -s mainnet new-testnet \
--deposit-contract-address 0xaA888248144Bc5d584a7f400839d0D912F21C39A \
--deposit-contract-deploy-block 2355031 \
--effective-balance-increment 100000000 \
--ejection-balance 1600000000 \
--eth1-follow-distance 16 \
--genesis-fork-version 0x00000539 \
--max-effective-balance 3200000000 \
--min-deposit-amount 100000000 \
--min-genesis-active-validator-count 16 \
--min-genesis-delay 3600 \
--min-genesis-time 1584316800 \
--testnet-dir ~/.lighthouse/schlesi
[...]
~/.opt/lighthouse master
❯ target/release/lighthouse b \
--testnet-dir ~/.lighthouse/schlesi \
--spec mainnet \
--eth1-endpoint 127.0.0.1:9779 \
--http
[...]
```
- Lighthouse waits for genesis now.
- Generated 16 and deposited validator keys with Lighthouse.
- Ref: https://github.com/sigp/lighthouse-docker/blob/master/scripts/create-validators.sh
```
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:12:39.823 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:12:39.823 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:12:39.823 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:12:39.824 INFO Saved new validator to disk voting_pubkey: 0x8ad822ecc479067446891bf8ed0d6da9d613b82fe7c4b3f8a08fac4442137b0e407e354488b83eba6774d48ed270c4c3
Mar 18 13:12:39.824 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:12:43.004 INFO Validator deposit successful validator_voting_pubkey: 0x8ad822ecc479067446891bf8ed0d6da9d613b82fe7c4b3f8a08fac4442137b0e407e354488b83eba6774d48ed270c4c3, eth1_tx_hash: 0xa1fafd73b8229900972325964d3c59866342a07cd1e15defe18d4c85249bceed
Mar 18 13:12:43.006 INFO Validator deposits complete
Mar 18 13:12:43.006 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:46:47.471 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:46:47.472 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:46:47.472 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:46:47.501 INFO Saved new validator to disk voting_pubkey: 0x8e594ca9e35254656c276bcf996e8000080d1fe63cc48e9e152e9a64af7b26cf32132a73646a009f9332b1905e4a4ff8
Mar 18 13:46:47.501 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:46:49.660 INFO Validator deposit successful validator_voting_pubkey: 0x8e594ca9e35254656c276bcf996e8000080d1fe63cc48e9e152e9a64af7b26cf32132a73646a009f9332b1905e4a4ff8, eth1_tx_hash: 0x3967f0d509db11067cc06b5b6c7667ac08b86cdfe49e2420f46f6ca5189a099a
Mar 18 13:46:49.661 INFO Validator deposits complete
Mar 18 13:46:49.661 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:46:58.420 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:46:58.421 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:46:58.422 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:46:58.429 INFO Saved new validator to disk voting_pubkey: 0xa93e6d08e2c4a92bff293ae1dfe26ab64fb51ebc82344a7d7a4842ee8434c3133b88c02b468fbf1d327b492f20b0ac5d
Mar 18 13:46:58.432 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:47:00.939 INFO Validator deposit successful validator_voting_pubkey: 0xa93e6d08e2c4a92bff293ae1dfe26ab64fb51ebc82344a7d7a4842ee8434c3133b88c02b468fbf1d327b492f20b0ac5d, eth1_tx_hash: 0x9a743fc2b13e1f4ad4d2f1a7da49064d6a8f8f5e6e3e3348319de37f1ff587c3
Mar 18 13:47:00.940 INFO Validator deposits complete
Mar 18 13:47:00.940 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:47:10.282 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:47:10.282 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:47:10.283 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:47:10.291 INFO Saved new validator to disk voting_pubkey: 0x99f2dd488e5d0e03e52b069281724501bd26d01497f0ce7a0d80b2b202dff7944eee80db430953a87b8ac2984ed37f86
Mar 18 13:47:10.291 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:47:13.128 INFO Validator deposit successful validator_voting_pubkey: 0x99f2dd488e5d0e03e52b069281724501bd26d01497f0ce7a0d80b2b202dff7944eee80db430953a87b8ac2984ed37f86, eth1_tx_hash: 0x1d2b08f96c4872058ff271910427024614701cfeba853b7905d8ab8cb5f6f267
Mar 18 13:47:13.129 INFO Validator deposits complete
Mar 18 13:47:13.129 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:47:24.439 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:47:24.442 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:47:24.446 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:47:24.450 INFO Saved new validator to disk voting_pubkey: 0x8461330b252fc51298400eb37f556b545ee340df8d6962b18880e0b4dd3160e0e661348d2a714d34acf998b25cabe560
Mar 18 13:47:24.457 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:47:26.165 INFO Validator deposit successful validator_voting_pubkey: 0x8461330b252fc51298400eb37f556b545ee340df8d6962b18880e0b4dd3160e0e661348d2a714d34acf998b25cabe560, eth1_tx_hash: 0x3fbd5e123f747ffba0e688479d5eb842560831f5ae424e63b108d993ed6ac3ef
Mar 18 13:47:26.166 INFO Validator deposits complete
Mar 18 13:47:26.166 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:47:41.675 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:47:41.676 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:47:41.677 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:47:41.684 INFO Saved new validator to disk voting_pubkey: 0xb7371b93dda82c3e82d33fd9e50afc148c314724d6dc2e933983f604bcef523c57071ca7922d66a4a17144fdb7c3f855
Mar 18 13:47:41.689 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:47:43.337 INFO Validator deposit successful validator_voting_pubkey: 0xb7371b93dda82c3e82d33fd9e50afc148c314724d6dc2e933983f604bcef523c57071ca7922d66a4a17144fdb7c3f855, eth1_tx_hash: 0xb0a0e995b126340f4cb131359218612a6412cb6cc4fe563c7d433fd5d0b2030b
Mar 18 13:47:43.339 INFO Validator deposits complete
Mar 18 13:47:43.339 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:47:53.384 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:47:53.385 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:47:53.385 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:47:53.391 INFO Saved new validator to disk voting_pubkey: 0x93ab50c94fe2f3aa196e0905df9391d87468106cc30c883f496f023cdd82e3c6ddcdd70e559f76f80846a860430406e9
Mar 18 13:47:53.391 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:47:55.802 INFO Validator deposit successful validator_voting_pubkey: 0x93ab50c94fe2f3aa196e0905df9391d87468106cc30c883f496f023cdd82e3c6ddcdd70e559f76f80846a860430406e9, eth1_tx_hash: 0x9303f06c1dc9b28269fd56adff13a368720eb903223f02006fd1ec837464a9fd
Mar 18 13:47:55.805 INFO Validator deposits complete
Mar 18 13:47:55.805 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:48:13.219 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:48:13.223 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:48:13.224 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:48:13.228 INFO Saved new validator to disk voting_pubkey: 0xb9aab5b2929d562f873055d52401388240576c75345031ef3cd5ed4a48bff3690185220061b1f2f5ce8d62c91db69bbe
Mar 18 13:48:13.228 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:48:15.213 INFO Validator deposit successful validator_voting_pubkey: 0xb9aab5b2929d562f873055d52401388240576c75345031ef3cd5ed4a48bff3690185220061b1f2f5ce8d62c91db69bbe, eth1_tx_hash: 0x3afb6994b17c4a0063cadac2ade82ba5395797eea56962f2ee585f9f246f8438
Mar 18 13:48:15.215 INFO Validator deposits complete
Mar 18 13:48:15.216 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:48:26.839 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:48:26.839 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:48:26.839 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:48:26.839 INFO Saved new validator to disk voting_pubkey: 0x873b64eca124ef0e7b32b179d9de89250823c914f0f51fb40a32803fb5266e6d57cc5c712af6fd284a98523af9251acc
Mar 18 13:48:26.839 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:48:30.128 INFO Validator deposit successful validator_voting_pubkey: 0x873b64eca124ef0e7b32b179d9de89250823c914f0f51fb40a32803fb5266e6d57cc5c712af6fd284a98523af9251acc, eth1_tx_hash: 0x137e35c46d91abf44ed4c82f7e175ca6838bea3fe4d8a752479b8eb238a6ab6a
Mar 18 13:48:30.130 INFO Validator deposits complete
Mar 18 13:48:30.130 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:48:40.562 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:48:40.563 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:48:40.564 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:48:40.571 INFO Saved new validator to disk voting_pubkey: 0xafea51f26dd477f45a4e6158ccf6b67ed4a5dc5d34f3d9e03dbb808ab94393d4309cf30a9877c3e5208272757319a0d0
Mar 18 13:48:40.573 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:48:41.950 INFO Validator deposit successful validator_voting_pubkey: 0xafea51f26dd477f45a4e6158ccf6b67ed4a5dc5d34f3d9e03dbb808ab94393d4309cf30a9877c3e5208272757319a0d0, eth1_tx_hash: 0x638baf541decdee7fe797fc24abd7e0ea01cfe02e9bdf64c0d954f8cd8c10a3d
Mar 18 13:48:41.953 INFO Validator deposits complete
Mar 18 13:48:41.953 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:49:01.234 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:49:01.235 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:49:01.235 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:49:01.243 INFO Saved new validator to disk voting_pubkey: 0x8ad8cd6a9e90700e508fffd8dba34cbfb03183b786279eb33702edbc8e7f9971a68943ff088b7e06b73bbdcb26e77755
Mar 18 13:49:01.244 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:49:02.428 INFO Validator deposit successful validator_voting_pubkey: 0x8ad8cd6a9e90700e508fffd8dba34cbfb03183b786279eb33702edbc8e7f9971a68943ff088b7e06b73bbdcb26e77755, eth1_tx_hash: 0xae63308e243df6391745dad40804aea9607905e0c37d3f26d6e6c223789bd658
Mar 18 13:49:02.430 INFO Validator deposits complete
Mar 18 13:49:02.430 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:49:20.629 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:49:20.629 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:49:20.629 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:49:20.629 INFO Saved new validator to disk voting_pubkey: 0xa0a315ddea7d7b6635eb984d931efc4d01759c5592340e046c985d87a07c3ba1a834da151e4a5d2788ce390061e6d973
Mar 18 13:49:20.629 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:49:22.028 INFO Validator deposit successful validator_voting_pubkey: 0xa0a315ddea7d7b6635eb984d931efc4d01759c5592340e046c985d87a07c3ba1a834da151e4a5d2788ce390061e6d973, eth1_tx_hash: 0x957ebffd95657c2278ffe8a7f66403cc5297b9db22142dfc0c4ccb20331845af
Mar 18 13:49:22.030 INFO Validator deposits complete
Mar 18 13:49:22.030 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:49:26.379 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:49:26.379 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:49:26.379 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:49:26.388 INFO Saved new validator to disk voting_pubkey: 0xa7e3881f2fa423900448eabf707afab03c52ba2aa2765010a978b95c46e0d16bac60b61f6486e196aa7fb8d8ac026c94
Mar 18 13:49:26.388 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:49:28.114 INFO Validator deposit successful validator_voting_pubkey: 0xa7e3881f2fa423900448eabf707afab03c52ba2aa2765010a978b95c46e0d16bac60b61f6486e196aa7fb8d8ac026c94, eth1_tx_hash: 0xf163a1b4c63b7da6d33cf7955d2dd522b513a79ae96c48792ba6380bcad20a8f
Mar 18 13:49:28.115 INFO Validator deposits complete
Mar 18 13:49:28.115 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:49:30.982 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:49:30.983 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:49:30.983 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:49:30.992 INFO Saved new validator to disk voting_pubkey: 0xb8c867ddfba85eff1f4e89f1c14147ff65adaedd62bc2e1ddde1f4a088435b67773835ac7b2126e52029fabc8c120cfa
Mar 18 13:49:30.992 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:49:33.424 INFO Validator deposit successful validator_voting_pubkey: 0xb8c867ddfba85eff1f4e89f1c14147ff65adaedd62bc2e1ddde1f4a088435b67773835ac7b2126e52029fabc8c120cfa, eth1_tx_hash: 0xba74b609539634cb7891d3c2d43d8841c0b3ded7c6e0848905f82c3f0be608c9
Mar 18 13:49:33.425 INFO Validator deposits complete
Mar 18 13:49:33.426 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:49:43.715 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:49:43.716 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:49:43.716 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:49:43.723 INFO Saved new validator to disk voting_pubkey: 0x9040c1d94010bb81d76c56aed5f684c607338f8cf2d8ca1b0af87976ea07678c3f7422ad4cf76bb97cbe01ea2e4e1e1b
Mar 18 13:49:43.723 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:49:45.312 INFO Validator deposit successful validator_voting_pubkey: 0x9040c1d94010bb81d76c56aed5f684c607338f8cf2d8ca1b0af87976ea07678c3f7422ad4cf76bb97cbe01ea2e4e1e1b, eth1_tx_hash: 0x0269c8c9e011ec9bf9368423ce5baed0ae5e35ce1a2132cc54d9567ff57ece3d
Mar 18 13:49:45.314 INFO Validator deposits complete
Mar 18 13:49:45.315 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
~/.opt/lighthouse testnet5*
❯ ./target/release/lighthouse account validator new --testnet-dir ~/.lighthouse/schlesi --spec mainnet --send-deposits --eth1-endpoint http://127.0.0.1:9779 --password ./password.txt --deposit-value 3200000000 random
Mar 18 13:53:46.430 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:53:46.430 INFO Located data directory path: "/home/user/.lighthouse/validators"
Mar 18 13:53:46.430 INFO Loading deposit contract address testnet_dir: "/home/user/.lighthouse/schlesi"
Mar 18 13:53:46.452 INFO Saved new validator to disk voting_pubkey: 0x82ad6def329bf94f06dae46b3222a3cb9baf2a68e1bf6e1dadaac5bb47dfe6690e2c3222b6256e17a4ec1bdbec6dbd65
Mar 18 13:53:46.453 INFO Submitting validator deposits eth1_node_http_endpoint: http://127.0.0.1:9779
Mar 18 13:53:48.174 INFO Validator deposit successful validator_voting_pubkey: 0x82ad6def329bf94f06dae46b3222a3cb9baf2a68e1bf6e1dadaac5bb47dfe6690e2c3222b6256e17a4ec1bdbec6dbd65, eth1_tx_hash: 0x13cb9c913d946b222cb595f4bb42bd3e7d11e985d1d4dc3c50faacdc8e42e053
Mar 18 13:53:48.176 INFO Validator deposits complete
Mar 18 13:53:48.176 INFO Generated validator directories count: 1, base_path: "/home/user/.lighthouse/validators"
```
- Lighthouse beacon node detected 16 deposits on the contract.
```
Mar 18 13:55:42.991 INFO Minimum genesis deposit count met block_number: 2366961, deposit_count: 16, service: beacon
Mar 18 13:55:57.647 INFO Deposit contract genesis complete validator_count: 16, eth1_block_height: 2366961, service: beacon
Mar 18 13:55:57.670 INFO Block production disabled reason: no eth1 backend configured
Mar 18 13:55:57.680 INFO Beacon chain initialized head_slot: 0, head_block: 0xd0ad…1b0d, head_state: 0xdadf…c6bc, service: beacon
Mar 18 13:55:57.686 INFO Libp2p Service peer_id: PeerId("16Uiu2HAmC8UbP2jBVsghW8kQBaAtbD67qcfrPxfLEZoPXvEFwfKF"), service: network
Mar 18 13:55:57.692 INFO ENR Initialised seq: 1, enr: enr:-Iu4QN6QRhX7abcUZ6E5eV9-AIUSXpNBSytiSNwG0FGWWifEevi98EDGhoPVt3e82j9KC2H7DiLtDGnj03MMrs707fEBgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQL4Lu3nwG5diXILEh3LiAauCrNgtoTJxGZQER33BTDMKoN0Y3CCIyiDdWRwgiMo, service: network
Mar 18 13:55:57.699 INFO Listening established address: /ip4/0.0.0.0/tcp/9000/p2p/16Uiu2HAmC8UbP2jBVsghW8kQBaAtbD67qcfrPxfLEZoPXvEFwfKF, service: network
Mar 18 13:55:57.699 INFO Subscribed to topics topics: ["/eth2/beacon_block/ssz", "/eth2/beacon_attestation/ssz", "/eth2/voluntary_exit/ssz", "/eth2/proposer_slashing/ssz", "/eth2/attester_slashing/ssz"], service: network
Mar 18 13:55:57.701 INFO HTTP API started port: 5052, address: 127.0.0.1, service: http
```
- Lighthouse validator node starts it's work.
```
Mar 18 13:57:20.871 WARN Ethereum 2.0 is pre-release. This software is experimental.
Mar 18 13:57:20.876 INFO Starting validator client datadir: "/home/user/.lighthouse/validators", beacon_node: http://localhost:5052/
Mar 18 13:57:20.893 INFO Connected to beacon node version: Lighthouse/v0.1.0-unstable/x86_64-linux
Mar 18 13:57:20.900 INFO Starting node prior to genesis seconds_to_wait: 3759
```
- extracting Genesis state with `lcil`
```
❯ target/release/lcli eth1-genesis --testnet-dir ~/.lighthouse/schlesi --eth1-endpoint http://127.0.0.1:9779
```
- **Nimbus**
- Hardcodes presets for performance benefits
- See: https://github.com/status-im/nim-beacon-chain/tree/master/beacon_chain/spec/presets
- **Prysm**
- Hardcodes presets (mainnet, minimal)
- See: https://github.com/prysmaticlabs/prysm/blob/master/INTEROP.md
---
### Personal Eth2.0 Call 36 Notes
I want to talk about mult-client testnets
- how we can assist client teams to work towards one testnet for all clients.
- I don't know if/how this fits in the agenda, but this call would be the ultimate chance to touch base with all developer teams and afterwards, we can spin out dedicated testnet calls (if the timing is appropriate).
I'm mainly interested in
- which version of the spec is implemented in which client;
- what's the status of networking in each client; what's the status validating/syncing;
- what else do we need to address first;
- and who's ready in the next weeks to join the efforts creating a persistent multi-client testnet? spider_web
https://notes.ethereum.org/DLu2WPtDSMOeNlnBth03Dw?both
https://notes.ethereum.org/nM_8ZY70RnSBpBuiRkgLCw?view