- Go to the releases page and copy the current version link.
- Run in the
Linuxterminal:
mkdir /tmp/deposit/ && \
wget -O /tmp/deposit.tar.gz https://github.com/ethereum/staking-deposit-cli/releases/download/v2.1.0/staking_deposit-cli-ce8cbb6-linux-amd64.tar.gz && \
tar -C /tmp/deposit/ -xf "/tmp/deposit.tar.gz" --strip-components 2 && \
deposit=/tmp/deposit/`ls /tmp/deposit` && \
rm /tmp/deposit.tar.gz
- After installation, check the operation with the
$deposit --helpcommand, you can see the answer in the screenshot below:
- Create an account with the command below, pay attention to the flags:
--num_validatorsspecify how many validators you want to run, as well as--chain-specify the network
$deposit new-mnemonic --num_validators 2 --chain goerli
- Choose a language:

- Install the required network (mainnet/testnet):

- Select the language of the phrase mnemonics:

- Set a password for the keystore (ATTENTION, THE PASSWORD FOR THE KEYSTORAGE WILL BE REQUIRED WHEN DEPLOYING A NODE! SAVE IT!)

- At this step, a mnemonic phrase will be shown for backup access to the account (ATTENTION, SAVE THE mnemonic IN A SAFE PLACE AND EXCLUDE ACCESS TO LOSSED PERSONS!)
Confirm that you have saved the mnemonic by re-entering the phrase. - Validator keys have been successfully generated at the specified address.
To pass deposit_data_xxxxxxx.json and keystore_xxxxx.json inside the container, we need to get the encrypted string of these files.
Go to the folder with the keys from p.10 (for me it's /home/dimokus/validator_keys ) and run the commands:
cat filename_deposit.json | openssl base64 -A
cat filename_keystore.json | openssl base64 -A
Carefully copy and save the output of the commands to a text file, also copy the file names as you will need them when filling out the deploy.yml file.



