NethermindEth / sedge

A one-click setup tool for PoS network/chain validators and nodes.
https://docs.sedge.nethermind.io
Apache License 2.0
149 stars 41 forks source link

`sedge cli` with full-node setup creates older version of withdrawal credentials, when it should create the newest version #369

Open Melvillian opened 5 months ago

Melvillian commented 5 months ago

Describe the bug After completing the steps given in the interactive sedge cli full-node setup, the deposit_data.json file contains withdrawal credentials that start with 0x00, which are the old pre-Merge style of keys. I expect them to create the 0x01-prefixed withdrawal credentials, which use the newest format.

To Reproduce Steps to reproduce the behavior:

  1. Run sedge cli, select the full-node option, then select the Nethermind option for your execution client, and lighthouse for your consensus + validator clients, 3 for the number of validators, and then for the rest of the options select whichever you want except you must pass in a valid address when it asks for your withdrawal address. This will generate a sedge-data/keystore/deposit_data.json which contains N withdrawal_credentialss keys in the JSON, where N is the number of validators you chose during the sedge cli setup process.
  2. Go to https://launchpad.ethereum.org/en/overview and hit Continue until you get to the next screen, where you should select Nethermind and Lighthouse for the execution and consensus clients, respectively. Then, select 3 for Number of validators and paste in the withdrawal address you used in step 1 when it asks for your withdrawal address. Select Continue at the end of this page and it will bring you to the page where you upload your deposit_data.json.
  3. When it asks to upload your deposit_data.json, upload it. You should now see a red error message where the Launchpad app tells you you have not set a withdrawal address, even though you did during the sedge cli setup. 3a. You can also verify the withdrawal address is not set by looking at the deposit_data.json file and see for each of the withdrawal_credentials keys the corresponding values are prefixed with a 0x00, which according to this means it is the old-style of staking keys.

Expected behavior I expected the latest version of sedge cli to create a deposit_data.json with the latest version of the staking keys.

Screenshots

sedge_cli_error bad_withdrawal_credentials

Desktop (please complete the following information):

Additional context I ran this with sedge v1.3.2

Melvillian commented 5 months ago

This is likely because of the version of the staking-deposit-cli used in sedge. The version in sedge is v2.3.0 but the latest release version of the tool is v2.7.0.