Geth Installation

Prerequisites

Begin by updating all packages currently installed on your system

Update The System:

sudo apt update && sudo apt upgrade

It may stop and ask you to confirm the updates. Type Y, then press ENTER

Dependent Packages

You need to have the following packages installed: git, make, go, gcc

You can check if a package is installed by running the command, followed by --version

Example: git --version

In this example git is currently installed and will respond with the version number

Install Prerequisites:

If any of the packages are not installed, you can install using the following commands:

sudo apt install git sudo apt install make sudo apt install golang-go

Note: gcc should come preinstalled on Ubuntu 20.04

Once all 4 packages are installed, you can continue with the installation.

Download Merge Configuration Files:

git clone https://github.com/eth-clients/merge-testnets.git

Change Directory:

cd merge-testnets/kiln

Generate JSON Web Token (JWT):

The JWT allows the Execution Layer and Consensus Layer to securely communicate.

openssl rand -hex 32 | tr -d "\n" > "/tmp/jwtsecret"

Install Geth

Clone Geth Repository:

git clone -b merge-kiln-v2 https://github.com/MariusVanDerWijden/go-ethereum.git

Change Directory:

cd go-ethereum 

Make Geth:

make geth

Result:

Change Directory (up one into the kiln directory):

cd ..

Configure Initial State:

./go-ethereum/build/bin/geth init genesis.json  --datadir "geth-datadir"

Result:

Start Geth:

./go-ethereum/build/bin/geth --datadir "geth-datadir" --override.terminaltotaldifficulty 20000000000000 --http --http.api="engine,eth,web3,net,debug" --http.corsdomain "*" --networkid=1337802 --syncmode=full --authrpc.jwtsecret=/tmp/jwtsecret --bootnodes "enode://c354db99124f0faf677ff0e75c3cbbd568b2febc186af664e0c51ac435609badedc67a18a63adb64dacc1780a28dcefebfc29b83fd1a3f4aa3c0eb161364cf94@164.92.130.5:30303" console

Result:

Geth should continue syncing in that terminal window. Allow this window to continue syncing. If you stop the process or close the window, Geth will stop syncing.

Next step is to generate the validator keys we will be using for Kiln.

Last updated