Adding a New Validator to an Existing Setup with Existing Seed Words
Scenario: Genesis block is long passed and now you would like to add more validators with your existing mnemonic seed.
✅ Requirements
Before continuing please have the following ready:
Existing 24 word validator mnemonic phrase
Existing keystore password
ETH Withdrawal Address from your hardware wallet
Step 1: Create new deposit_data json file and new validator_keys
In this example, using the staking-deposit-cli
tool, you can add more validators by creating a new deposit data file and validator_keys
Security recommendation reminder: For best security practices, key management and other activities where you type your 24 word mnemonic seed should be completed on an air-gapped offline cold machine booted from USB drive.
Reminder to use the same keystore password as existing validators.
For example, in case we originally created 3 validators but now wish to add 5 more validators, we could use the following command.
# Generate from an existing mnemonic 5 more validators when 3 were previously already made
./deposit existing-mnemonic \
--validator_start_index 3 \
--num_validators 5 \
--chain mainnet \
--execution_address <ETH_ADDRESS_FROM_HARDWARE_WALLET>
--validator_start_index
Number of validators you ALREADY created
--num_validators
Number of NEW validators you want to create
--chain
Options: mainnet holesky goerli
--execution_address
Critically important: Your Ethereum Address from a Hardware Wallet.
Withdrawals will be sent to this address. If you stop validating and exit your validator, your 32 ETH will be sent here.
This ETH withdrawal address is one such that you control the private keys to, ideally one from a hardware wallet.
🛑DO NOT USE A EXCHANGE ADDRESS!🛑
Step 2: Deposit 32 ETH per validator
Option 1: Visit the official Ethereum Launchpad site
Two important tasks to complete at the launchpad.
Upload the
deposit_data-#########.json
Make the 32 ETH deposit transaction(s), 32 ETH per validator. 1 deposit transaction per validator.
Option 2: Use Abyss's Batch Ethereum Depositor to combine many validator deposits into just 1 transaction.
Step 3: Import New Validator Keys
This step assumes your new validator keys are located in
$HOME/staking-deposit-cli/validator_keys
If Wagyu was used to generate validator keys, move the keystore files to the above location.
Stop your validator client.
sudo systemctl stop validator
Import your validator keys by importing your keystore file. Be sure to enter your keystore password correctly.
sudo lighthouse account validator import \
--network mainnet \
--datadir /var/lib/lighthouse \
--directory=$HOME/ethstaker_deposit-cli/validator_keys \
--reuse-password
Verify that your keystore file was imported successfully.
sudo lighthouse account_manager validator list \
--network mainnet \
--datadir /var/lib/lighthouse
Once successful, you will be shown your validator's public key.
For example, 0x8d9138fcf5676e2031dc4eae30a2c92e3306903eeec83ca83f4f851afbd4cb3b33f710e6f4ac516b4598697b30b04302
Setup ownership permissions, including hardening the access to this directory.
sudo chown -R validator:validator /var/lib/lighthouse/validators
sudo chmod 700 /var/lib/lighthouse/validators
Finally, start your validator client.
sudo systemctl restart validator
Check your logs to confirm that the validator clients are up and functioning.
sudo journalctl -fu validator | ccze
For example when using 2 validators, logs will show the following:
INFO Enabled validator voting_pubkey: 0x82b225f66476962b161ed015786df00a0b7b28231915e6d09e81ba8d5c4ae8502b6d5337e3bf101ad72741dc69f0a7cf, signing_method: local_keystore
INFO Enabled validator voting_pubkey: 0x95d39860a0d6ea3b92cba78069d21f3a987988f3b8417b14f0945353d79ed9e338bbe6e9d63d487abc044a710ce34866, signing_method: local_keystore
INFO Initialized validators enabled: 2, disabled: 0
Step 4: Backup and Delete validator_keys
directory
validator_keys
directoryMake backup copies of your validator_keys directory to USB media or other devices. These validator keys can always be regenerated from secret recovery mnemonic phrase.
Afterwards, you may safely delete the directory.
# Remove default validator_key directory
sudo rm -r $HOME/staking-deposit-cli/validator_keys
Step 5: Estimate when your new validator becomes active
Your additional validators are now in the activation queue waiting their turn. Check the "Entry Queue" for your estimated wait time at https://www.validatorqueue.com
In the below example, the wait time was approximately 11 days, 1 hour until a new validator became active.

Last updated