Eth 2.0 Key Generation: Ubuntu Live USB
This guide demonstrates how to safely generate Eth 2.0 validator keys using Ubuntu live boot from USB.
DISCLAIMER - FOR EDUCATIONAL PURPOSES ONLY
Summary
You will need 2 USB sticks and a PC running either Linux, Windows, or macOS.
Step 1 - Download eth2.0-deposit-cli Key Generator
eth2.0-deposit-cli Key GeneratorPlease be sure you are using the official Ethereum Foundation GitHub account.

Copy the eth2deposit-cli tarball to the USB:
eth2deposit-cli tarball to the USB:
Step 2 - Download Ubuntu
Visit http://www.releases.ubuntu.com/20.04/ and download the desktop image:

Step 3 - Burn Ubuntu ISO image to USB
Ubuntu Desktop - Click the
icon and search "startup disk creator" :
icon and search "startup disk creator" :
Choose the Ubuntu ISO and Make Startup Disk:
The USB will be completely wiped, be sure to back up any important data!

Installation Complete:

Step 4 - Disconnect Internet
DISCONNECT INTERNET || aka AIR-GAP
Physically unplug all modems, routers, and Ethernet cables. Make sure you never turn on WIFI or any networking capabilities. It should be impossible to connect to the internet.
Step 5 - Boot into Ubuntu Live USB
Ubuntu USB Startup Process:
Begin with the computer powered down
Plug the Ubuntu live USB into the computer
Start the computer and continually press
F-12to enter one-time boot menuChoose the Ubuntu live USB from the boot menu
If successful, the Ubuntu live USB will pull up the GRUB menu. It may automatically continue, otherwise select the first option by hitting ENTER

Select Try Ubuntu:
Try Ubuntu:
Turn Off WiFi and Bluetooth:

Plug in 2nd USB and double click the eth2deposit-cli tarball:
eth2deposit-cli tarball:
Click Extract in the upper left corner:
Extract in the upper left corner:
Click Home towards the upper left, then click the green Extract
Home towards the upper left, then click the green Extract 
Navigate to the Home Folder:
Home Folder:
Rename the folder to eth2.0-deposit-cli
eth2.0-deposit-cli
Step 6 - Eth 2.0 Key Generation
Open new terminal window using Ctrl + Alt + T
Ctrl + Alt + T
Change directory to eth2.0-deposit-cli folder:
cd eth2.0-deposit-cliRun ./deposit new-mnemonic:
./deposit new-mnemonic:./deposit new-mnemonic
Step 7 - Mnemonic Seed
If you lose the mnemonic seed, your stake is lost forever.
The 24 word mnemonic seed is necessary to withdraw your staked Eth. Without the seed, you will be unable to transfer/withdraw and your Eth will be lost forever.
After confirming the password, you'll be given a mnemonic seed phrase:

Write down the mnemonic, then reenter it to ensure it's correct:


Step 8 - deposit_data and keystore files
deposit_data and keystore filesFiles can be found at:/home/YOURUSERNAME/eth2.0-deposit-cli/validator_keys
deposit_data-[timestamp].jsoncontains data used to register your validator on the Eth2 launchpad
keystore -[timestamp].jsonvalidator keystore file protected by password (aka validator signing key)
If you lose the mnemonic seed, your stake is lost forever.
Navigate to /home/eth2.0-deposit-cli/validator_keys:
/home/eth2.0-deposit-cli/validator_keys:
Deposit_data file contents:
Deposit_data file contents:
Keystore file contents:
Keystore file contents:
Copy deposit_data and keystore files to external USB:
deposit_data and keystore files to external USB:
Congratulations, you successfully created your Eth 2.0 validator keys!
Close Ubuntu, store the seed, and transfer deposit_data and keystore to your main PC.
Learn how to run a testnet validator: Pyrmont || Lighthouse Eth2 Staking Guide
Last updated
Was this helpful?