Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 3.06 KB

create_validator_key_en(Linux).md

File metadata and controls

47 lines (39 loc) · 3.06 KB

Generate Ethereum 2.0 validator keys

  1. Go to the releases page and copy the current version link.

  1. Run in the Linux terminal:
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
  1. After installation, check the operation with the $deposit --help command, you can see the answer in the screenshot below:

  1. Create an account with the command below, pay attention to the flags: --num_validators specify how many validators you want to run, as well as --chain-specify the network
$deposit new-mnemonic --num_validators 2 --chain goerli
  1. Choose a language: image
  2. Install the required network (mainnet/testnet): image
  3. Select the language of the phrase mnemonics: image
  4. Set a password for the keystore (ATTENTION, THE PASSWORD FOR THE KEYSTORAGE WILL BE REQUIRED WHEN DEPLOYING A NODE! SAVE IT!) image
  5. 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!) image Confirm that you have saved the mnemonic by re-entering the phrase.
  6. Validator keys have been successfully generated at the specified address.

Encrypt JSON files

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.