📒Guide: Becoming a Validator on the Eth2 Testnet

A step by step guide on how to become an Eth2 validator on the Medalla testnet

Last updated: August 27th, 2020


We’re so excited about the coming launch of Eth2 that we put together an all-encompassing guide for those looking to run a validator node in the current Eth2 Testnet (“Medalla”).

Please join me in thanking Collin Myers & Mara Schmiedt from ConsenSys CodeFi for putting this together—we hope it will serve as an invaluable resource for the Ethereum community on getting started with Eth2. 👏

First comes testnet. Then comes mainnet.

This is the frontier.

- RSA


🙏Sponsor: Aave—earn high yields on deposits & borrow at the best possible rate! 


Here’s what this guide covers:

  1. Recommended hardware

  2. Choosing & Installing Your Client

  3. Setting up an Eth1 Node

  4. Using the Eth2 Launch Pad

  5. Bonus content and resources


David McCullough's 'The Pioneers' Book Review | National Review

Bring a friend on the journey! Share this guide with someone. Let’s help the world go bankless!

Share


1. Hardware Requirements

Based on the decentralized design goals of Eth2, it is expected that validators will utilize a variety of different infrastructure setups (on-premise, cloud, etc).


👉 Using a Testnet is a great way to get involved and gives you sufficient time to determine what type of setup gives you the best, most reliable performance. It’s also our only option these days!


Below you will find some hardware recommendations, resource links, and some useful guides to get you prepared.

Recommended Specs:

  • Operating System: 64-bit Linux, Mac OS X, Windows

  • Processor: Intel Core i7-4770 or AMD FX-8310 (or better)

  • Memory: 8GB RAM

  • Storage: 100GB available space SSD

  • Internet: Broadband internet connection (10 Mbps)

  • Power: Uninterruptible power supply (UPS)

Digital Ocean Equivalent (cloud provider):

  • Standard Droplet

    • Memory: 8GB RAM

    • Storage: 160GB available space SSD

    • Uptime: 99.99%

    • Availability: 8 Data Centers

    • $/HR: $0.060

    • $/MO: $40

Hardware Equivalent:

Minimum Requirements:

  • Operating System: 64-bit Linux, Mac OS X, Windows

  • Processor: Intel Core i5-760 or AMD FX-8110 (or better)

  • Memory: 4GB RAM

  • Storage: 20GB available space SSD

  • Internet: Broadband internet connection (10 Mbps)

  • Power: Uninterruptible power supply (UPS)

Digital Ocean Equivalent:

  • Standard Droplet

    • Memory: 4GB RAM

    • Storage: 80GB available space SSD

    • Uptime: 99.99%

    • Availability: 8 Data Centers

    • $/HR: $0.030

    • $/MO: $20

Hardware Equivalent:


2. Choosing & Installing Your Client

The launch of Medalla featured the first Eth2 multi-client testnet, providing validators with the option of using different implementations for running their validator.

As of the Medalla testnet, there are 4 client teams with production ready implementations that you can try out:

Client Teams

  • Nimbus by Status (Discord)

    Nimbus is a research project and a client implementation for Ethereum 2.0 designed to perform well on embedded systems and personal mobile devices, including older smartphones with resource-restricted hardware. Nimbus (Apache 2) is written in Nim, a language with Python-like syntax that compiles to C.


3. Install an ETH1 Node

Running a validator on Eth2 requires you to run an Eth1 node in order to monitor for 32 ETH validator deposits. There are a variety of options when choosing an Eth1 node, below you will find the tools most commonly used to spin up an Eth1 node.

Self Hosted:

Third Party Hosted:


4. Running an Eth2 Validator on Medalla

Step 1: Get ETH on Goerli Testnet

If you are new to Ethereum, then a major step of participation is getting your fuel to participate. The Eth2 Medalla testnet requires 32 GöETH per validator (just like the real thing, except that you’ll be using Goerli testnet ETH!).

If you need to top up there are some great tools that have been built to make this process easier.

  1. Prysmatic Discord (-request-goerli-eth channel)

    1. The Prysmatic Team has automated this process with a bot 

    2. Simply type “!send (your Ethereum address)”

  2. EthStaker Discord (-request-goerli-eth channel) 

    1. This bot is run and maintained by Beaconcha.in

    2. Simply type “!goerliEth (your Ethereum address)”

  3. Goerli Authenticated Faucet

    1. Simply paste your ETH address and select ‘request’

Step 2: Head over to the Eth2 Launchpad

Over the past few months, the Ethereum Foundation (EF), Codefi Activate, and Deep Work Studio have been working on an interface to make it easier for users to stake and become a validator on Ethereum 2.0. 

The result of this effort is the Eth2 Launch Pad, an application designed to securely guide you through the process of generating your eth2 key pairs and staking your 32ETH into the official deposit contract on the eth2 testnet and mainnet.

The Launch Pad was designed for at-home validators. These are hobbyists who intend to run their own validator and are comfortable running commands in a terminal screen on their computer.

Step 2a: Due Diligence (Overview section)

It is important to take your time and read through the content during this part of the journey. The overview section is designed to be educational and informative about the risks involved when staking your ETH.

Step 3: Generate your key pairs and mnemonic phrase

For each validator node, you are required to generate your validator key pair and a mnemonic phrase to generate your withdrawal key later on. 

As a first step, you are required to select the number of validators you would like to run and on which operating system you would like to run them on. 

The Launchpad will provide you with the two options to generate your deposit keys. You can find detailed instructions for your operating system here

https://github.com/ethereum/eth2.0-deposit-cli/blob/master/README.md

The first is to use the binary executable file that you can download from the ethereum/eth2.0-deposit-cli page and then run the ./deposit command in your terminal window

The other option is to build the deposit-CLI tool from the Python source code. You will need to follow the instructions to ensure you have all the required development libraries and the deposit-CLI tool installed.

Once completed, run the .\eth2deposit\deposit.py command in your terminal window.

Once you have installed the deposit-CLI tool and run it in your terminal window, you will be prompted to:

  1. specify the number of validators you would like to run

  2. the language in which you would like to generate your mnemonic phrase

  3. specify the testnet on which you would like to run your validator.

Please select Medalla for the purpose of this Testnet tutorial.

Now you will be asked to set your password and once confirmed your mnemonic phrase will be generated. Make sure you have it written down in a safe place and stored offline.

If you have successfully completed this step you should see the screen below. 

If you have questions about the deposit-cli, please visit the GitHub repository: 
https://github.com/ethereum/eth2.0-deposit-cli

Step 4: Upload your deposit file

You are almost there! As a next step upload the deposit json file you generated in the previous step.

It is located in the /eth2.0-deposit-cli/validator_keys directory and is titled deposit-data-[timestamp].json.

Step 5: Connect your wallet

Next connect your Web3 wallet and click continue. Make sure you select the Goerli testnet in your wallet settings.


⚠️ Do not send real ETH to the Medalla testnet deposit contract. ⚠️


Step 6: Confirm transaction summary & initiate deposit

Once you have connected and confirmed your wallet address you will be taken to a summary page that displays the total amount of GoETH required to send to the deposit contract based on the number of validators you have selected to run.

Consent to the alert checks and click confirm to navigate to the final step - the actual deposit. 

Click ‘Initiate the Transaction’ to deposit your GoETH into the official Medalla testnet contract.

You will be required to confirm the 32 GoETH deposit per validator through your wallet. Once your transaction is confirmed ….Boom! You’ve made it and can call yourself an official staker on the most monumental Web3 Testnet out there!


6. Bonus Content & Resources

After reviewing the above steps we recommend that to be validators look through the client specific guides below before getting the process kicked off. The above steps will follow different orders of operations based on which client you decide to work with.

The below guides are the most in depth we have seen in the industry so far and will take Bankless readers through the nuances of the process. 

Bonus Resources for Eth2 Validators

These are highly recommended once you make your decision about which client you would like to use:

Eth2 Block Explorers:

Infrastructure/Hardware

CoinCashew Series:

Somer Esat Guides:

Stay on Top of Eth2 Developments:

It’s all about the Keys Keys Keys:

Earn some POAPs to compliment your Bankless POAP. Run different clients and collect the set.


More guides!


🙏Thanks to our sponsor

Aave

Aave is an open source and non-custodial protocol for money market creation. Originally launched with the Aave Market, it now supports Uniswap and TokenSet markets and enables users and developers to earn interest and leverage their assets. Aave also pioneered Flash Loans, an innovative DeFi building block for developers to build self-liquidations, collateral swaps, and more. Check it out here.


Not financial or tax advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. This newsletter is not tax advice. Talk to your accountant. Do your own research.


Disclosure. From time-to-time I may add links in this newsletter to products I use. I may receive commission if you make a purchase through one of these links. I’ll always disclose when this is the case.