This gist is about all things stakers can do on the mekong public testnet. It comprises of different sections for different use cases and documents all the necessary commands and steps so that any staker can easily replicate my workflow.
If I missed anything, let me know. The list of actions might not be complete so I will extend it for sure.
The gist is based on the official pectra FAQ. Although this gist wraps up the most important actions etc. I recommend to read the full FAQ for edge cases etc.
NOTE: It is not adviced to set a wallets private key in a cli command as it will be persisted in the clis history. I'm doing this for convenienence reasons and since it is only a testnet there is no issue. I do not recommend to do it like that for mainnet operations.
This chapter holds information what you need to do in order to run the post pectra staking scenarios.
-
You need mekongETH
-
Prepare your environment
export EXECUTION_NODE=<EXECUTION_NODE_URL>
-
Run the
deposit-cli
and create keys and deposit data for 4-5 pre-pectra validators (it is assumed that you create validators with0x01
withdrawal credentials)-
Note, you need the respective mekongETH in order to register these 4-5 validators
./deposit new-mnemonic --chain mekong --withdrawal_address <YOUR_WITHDRAWAL_ADDRESS> --num_validators 5 --keystore_password <VALIDATOR_KEYSTORE_PASSWORD>
-
-
Put the keys and and keystore password to your validator client of choice (how to set up is not part of this documentation)
-
Send the deposit data to the deposit contract
-
you can do so using either dora or send a cli command using
ethereal
:./ethereal beacon deposit --connection ${EXECUTION_NODE} --data=<PATH_TO_deposit-data.json> --address=0x4242424242424242424242424242424242424242 --from=<WALLET_ADDRESS_WITH_ETH> --privatekey=<PRIVATE_KEY_OF_WALLET> --allow-unknown-contract --wait
-
-
Validators should be registered in less than an our
- Directly create compounding validator (with deposit-cli and ethstaker-deposit-cli)
- Exit validator via execution layer message
- Your validators need to have
0x01
or0x02
withdrawal credantials - Navigate to dora consolidation page
- Connect your wallet and follow the consolidation steps
- Your validators need to have
0x01
or0x02
withdrawal credantials - Download or build the eth-validator-cli
- Follow the usage example
- Simply use the dora consolidation page from above and set the source and target validator to the same validator pubkey
- You can also use the eth-validator-cli as an alternative. This is especially helpful if you want to switch the credential type for multiple validators
-
Requirement: The validator need to have
0x02
withdrawal credentials (see above) -
Create a partial deposit with the
deposit-cli
/deposit partial-deposit --chain mekong --keystore <PATH_TO_VALIDATOR_KEYSTORE_WHICH_YOU_WANT_TO_TOP_UP> --keystore_password <VALIDATOR_KEYSTORE_PASSWORD> --amount <AMOUNT_OF_ETH_FOR_TOP_UP> --withdrawal_address <VALIDATORS_WITHDRAWAL_ADDRESS>
-
Send the deposit data to the deposit contract
-
you can do so using either dora or send a cli command using
ethereal
:./ethereal beacon deposit --connection ${EXECUTION_NODE} --data=<PATH_TO_deposit-data.json> --address=0x4242424242424242424242424242424242424242 --from=<WALLET_ADDRESS_WITH_ETH> --privatekey=<PRIVATE_KEY_OF_WALLET> --allow-unknown-contract --wait
-
- Navigate to dora-explorer, connect your wallet and simply follow the steps.