Kiln Testnet Staking Guide: Teku + Geth
Guide for connecting to Kiln testnet using Teku and Geth
Last updated
Guide for connecting to Kiln testnet using Teku and Geth
Last updated
Ethereum is quickly approaching its long awaited switch to Proof-of-Stake. This guide will help you better understand The Merge, why it's happening, and how you can help!
This document was created for people staking from home using Ubuntu Desktop, but can easily be adapted to run in the cloud or on a remote server using SSH.
This guide serves as a "Hello World" to Ethereum staking, but it requires a basic understanding of Ethereum and Ubuntu command line interface (CLI).
If you're new to Ubuntu and would like to start with the basics, see Ubuntu for Beginners
If you'd prefer to skip the background info, installation instructions start here
Ethereum Today
What is "The Merge"?
Client Diversity
Execution Clients (formerly ETH1)
Consensus clients (formerly ETH2)
Client Combinations
Enable Universal Firewall (UFW)
Install & Sync Geth
Generate Validator Keys
Configure Metamask / Kiln ETH
Install & Sync Teku
Launchpad - Validator Deposit
Run Validator & Confirm Attestations
There are currently two Ethereum networks running side by side (POW & POS).
The Ethereum Proof-of-Work chain (ETH1) has been running since 2013, and forces miners to solve difficult math problems in order to earn the right to produce a block. This leads to large amounts of wasted energy and computer parts (GPUs).
After many years of research and testing, Ethereum Proof-of-Stake (Eth2) was launched on Dec 1st, 2020. The POS chain (aka Beacon Chain) uses validators who submit a stake of 32 ETH in order to earn the right to produce blocks and secure the blockchain.
Because the POS was a fairly new concept, it was decided to run POS alongside POW until POS was proven to be safe and effective.
The Beacon Chain (POS) currently does not process any transactions, but it uses deposits from the POW chain to determine which accounts should be added to the POS validator list. Other than that, the POS chain simply comes to consensus on itself.
This image is a general overview of how the POW and POS chains currently interact:
Note: The terms ETH1 and ETH2 are generally no longer used, but they're used in this diagram to illustrate how to the two networks currently interact.
The merge refers to the shutting down of the POW chain and moving all consensus and execution activities into the POS chain. This is a very complicated process, and has been compared to upgrading an airplane engine mid flight.
This diagram shows how an Ethereum client will look post merge. Each client will have a Beacon Node (Consensus Layer) and an Execution Engine (Execution Layer) that will communicate with each other using an internal Engine API.
There have been numerous explanations regarding the importance of client diversity. I'll link to a few resources rather than rehash the same story.
Ethereum.org - Client Diversity
Superphiz - A Brief History of Client Diversity
TL:DR - Using multiple different clients makes Ethereum less susceptible to bugs and more resilient to attacks. If one client becomes too dominant, the network could finalize an incorrect chain and experience mass slashings or extended periods of downtime.
Execution Clients are used to execute payloads (transactions etc) and update the Ethereum blockchain. The EL is used to review transactions and ensure they follow the rules before including them in a block.
Since Ethereum's inception, Geth has been the dominant execution client. Below is a list of execution clients with links to their respective repositories.
Consensus clients are used to come to consensus on the correct chain. Once enough validators agree on a particular chain (66%), that chain is considered finalized and cannot be reverted without slashing all validators who attested to that chain.
Under POW, execution and consensus were run by a single client. After the merge, validators will choose a consensus client and an execution client which will work together while performing separate tasks.
There are multiple Consesus Clients with working implementations. Be sure to understand the importance of client diversity before selecting a consensus client.
Stakers have the ability to select any Consensus Layer (CL) client and any Execution Layer (EL) client to run together due to the standardized Engine API format used by all CL and EL.
This guide will focus on using Teku as the Consensus Layer (CL) and Geth for the Execution Layer (EL).
This guide is tailored for a dedicated Ethereum PC/server. The most common computer used for a dedicated staking machine is the Intel NUC.
It's possible to run on ~8gb RAM, but may struggle under stressful network conditions.
You will be running everything from the terminal window (aka Command Line Interface).
You can use the following shortcuts for Linux CLI:
Ctrl + Alt + T
|| Open new terminal window
Ctrl + Shift + V
|| Paste contents into terminal window
Ctrl + C
|| Quit terminal process
We'll begin the installation by enabling the Universal Firewall (UFW).
Lighthouse | Nimbus | Prysm | Teku | |
---|---|---|---|---|
Dev Team
Sigma Prime
Status
Prysmatic Labs
Consensys
Focus
Speed, security
Lightweight
Usability, reliability
Enterprise
Language
Rust
Nim
Go
Java