š Guide: How to become a validator on Eth2
Last updated: November 4th, 2020
Dear Bankless Nation,
That means ETH staking is here. This is the birth of the ether as a digital bond.
The staking contract is open and Eth2 is set to go live on December 1st, 2020. This is years of work finally coming into fruition. And itās safe to say weāre excited.
Thatās why weāre launching this ETH staking guide for those looking to run a validator node on Mainnet. We did one to help people get setup on the Medalla testnet back in Augustāyou can still access the testnet guide to practice by the way.
But now itās game time. This is the real deal.
Please join me in thanking Collin Myers & Mara Schmiedt from ConsenSys CodeFi & Bison Trails for putting this togetherāwe hope it serves as an invaluable resource for the Ethereum community on getting started with Eth2. š
This is the frontier.
- RSA
P.S. Calling all builders! Letās use Filecoin to build a decentralized future and earn some cash. Get a $20K grant + over $1M in funding. Davidās mentoring! Apply now!
šSponsor: Aaveāearn high yields on deposits & borrow at the best possible rate!
We dropped a special episode of ALPHA LEAK on ETH2 and ETH staking!
Learn everything you need to know on Eth2 staking with Preston Van Loon!
Running a validator node on Eth2 guide
This guide covers:
- Recommended hardware
- Eth2 staking and Ethereum staking
- How to stake Ethereum
- Choosing & Installing Your Client
- Setting up an Eth1 Node
- Using the Eth2 Launch Pad
- Bonus content and resources
Bring a friend on the journey! Share this guide with someone. Letās help the world go bankless!
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).
š If you havenāt previously staked your ETH, using the Medalla 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.
Make sure to run some tests before you get started! To test your setup on the Medella testnet first please see here.
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):
Memory: 8GB RAM
Storage: 160GB available space SSD
Uptime: 99.99%
Availability: 8 Data Centers
$/HR: $0.060
$/MO: $40
Hardware Equivalent:
- ZOTAC ZBOX CI662 Nano Silent Passive-Cooled Mini PC 10th Gen Intel Core i7
- SanDisk Ultra 3D NAND 2TB Internal SSD
- Corsair Vengeance Performance SODIMM Memory 16GB (2x8GB)
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:
Memory: 4GB RAM
Storage: 80GB available space SSD
Uptime: 99.99%
Availability: 8 Data Centers
$/HR: $0.030
$/MO: $20
Hardware Equivalent:
- ZOTAC ZBOX CI642 Nano Silent Passive-Cooled Mini PC 10th Gen Intel Core i5
- SanDisk Ultra 3D NAND 2TB Internal SSD
- Corsair Vengeance Performance SODIMM Memory 8GB
2. Choosing & Installing Your Client
The launch of Eth2 features multiple clients, providing validators with the option of using different implementations for running their validator.
As of now, there are 4 client teams with production ready implementations that you can try out:
Client Teams
Prysm by Prysmatic Labs (Discord)
Prysm is a Go implementation of the Ethereum 2.0 protocol with a focus on usability, security, and reliability. Prysm is written in Go and released under a GPL-3.0 license.
Lighthouse by Sigma Prime (Discord)
Lighthouse is a Rust implementation of the Eth2.0 client with a heavy focus on speed and security. The team behind it, Sigma Prime, is an information security and software engineering firm. Lighthouse is offered under an Apache 2.0 License.
Instructions: https://lighthouse-book.sigmaprime.io/
Teku by ConsenSys (Discord)
PegaSys Teku is a Java-based Ethereum 2.0 client designed & built to meet institutional needs and security requirements. Teku is Apache 2 licensed and written in Java, a language notable for its maturity & ubiquity.
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.
Instructions: https://nimbus.team/docs/
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
Step 1: Get ETH
If you are new to Ethereum, then a major step is getting your fuel to participate. Eth2 requires 32 ETH per validator. This is the real thing! Recognize that if you end up becoming a validator, youāre making a long term commitment (weāre talking years) towards this initiative.
If you need to top up on some ETH, hereās the exchanges we recommend.
- Fiat On-Ramp Exchange (U.S.): Coinbase or Gemini
- Fiat On-Ramp Exchange (non-U.S.) Binance or Kraken
- Ethereum DEX: Uniswap
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 32 ETH into the official deposit contract on Eth2 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 Eth2 Github repo and then run the ./deposit command in your terminal window.
Please remember to verify the URL and that you are using is the correct one!
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 you have installed the deposit-CLI tool and run it in your terminal window, you will be prompted to:
- Specify the number of validators you would like to run
- The language in which you would like to generate your mnemonic phrase
- Specify the network (mainnet) on which you would like to run your validator.
Please make sure you have set --chain mainnet for Mainnet testnet, otherwise the deposit will be invalid.
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 Mainnet in your wallet settings.
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 ETH 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 ETH into the official Eth2 Deposit Contract.
You will be required to confirm the 32 ETH deposit per validator through your wallet.
Once your transaction is confirmed ā¦.Boom! Youāve made it and can call yourself an official staker for a monumental moment in Web3.
Congratulations!! š„³
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:
- How to stake on ETH2 Medalla Testnet with Prysm on Ubuntu
- How to stake on ETH2 Medalla Testnet with Lighthouse on Ubuntu
- How to stake on ETH2 Medalla Testnet with Teku on Ubuntu
- How to stake on ETH2 Medalla Testnet with Nimbus on Ubuntu
Somer Esat Guides:
- Guide to Staking on Ethereum 2.0 (Ubuntu/Medalla/Lighthouse)
- Guide to Staking on Ethereum 2.0 (Ubuntu/Medalla/Prysm)
Stay on Top of Eth2 Developments:
- What's New in Eth2 (Ben Edgington)
- Ethereum Blog (Danny Ryan's Quick Updates)
- Ben Edgington (Annotated Eth2 Spec)
- Jim Mcdonald (Attestant Posts)
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!
- Guide 1: Starting with Bankless
- Guide 2: Using the Bankless Badge
- Guide 3: Tactics and Tools
- Special Guide: Becoming a Validator on the Eth2 Testnet
- Special Guide: How to Become a Validator on Eth2 (šyou are here)
š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.