🏄‍♂️
ETH 2.0 Mainnet Staking Guide - Lighthouse
  • ETH 2.0 Mainnet Staking Guide - Lighthouse
  • Universal Firewall (UFW)
  • Geth - Execution Engine
  • Lighthouse - Beacon Node
  • ETH2 - Validator
  • Eth2 - Resources
  • How Much Is Enough?
Powered by GitBook
On this page
  • Update the system:
  • Update distro (Ubuntu) and autoremove:
  • Install Geth
  • Create service file to run Geth
  • Create geth user:
  • Create /geth directory:
  • Assign goeth permission to modify /geth:
  • Create geth.service :
  • Paste the following into the file:
  • Reload the daemon:
  • Start geth.service:
  • Check geth.service output:
  • Geth Sync

Was this helpful?

Geth - Execution Engine

PreviousUniversal Firewall (UFW)NextLighthouse - Beacon Node

Last updated 2 years ago

Was this helpful?

Update the system:

sudo apt update && sudo apt upgrade

Update distro (Ubuntu) and autoremove:

sudo apt dist-upgrade && sudo apt autoremove

Install Geth

1) Check latest version of Geth:

Find the most current update .

This code in this guide is updated for v1.10.26 and current as of Jan 5, 2023.

Install Curl

sudo apt install curl

2) Change to Home directory:

cd ~

3) Use curl to download latest version:

curl -LO https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.11.2-73b01f40.tar.gz

4) Extract, Copy, and Clean up:

tar xvf geth-linux-amd64-1.11.2-73b01f40.tar.gz
cd geth-linux-amd64-1.11.2-73b01f40
sudo cp geth /usr/local/bin
cd ~
rm geth-linux-amd64-1.11.2-73b01f40.tar.gz
rm -r geth-linux-amd64-1.11.2-73b01f40

Create service file to run Geth

Create geth user:

sudo useradd --no-create-home --shell /bin/false geth

Create /geth directory:

sudo mkdir -p /var/lib/geth

Assign goeth permission to modify /geth:

sudo chown -R geth:geth /var/lib/geth

Create geth.service :

sudo nano /etc/systemd/system/geth.service

Paste the following into the file:

[Unit]
Description=Geth Execution Client (Mainnet)
After=network.target
Wants=network.target

[Service]
User=geth
Group=geth
Type=simple
Restart=always
RestartSec=5
TimeoutStopSec=600
ExecStart=/usr/local/bin/geth \
  --mainnet \
  --datadir /var/lib/geth \
  --authrpc.jwtsecret /var/lib/jwtsecret/jwt.hex
  
[Install]
WantedBy=default.target

Use Ctrl + X to exit, Y to save, then Enter to confirm.

Reload the daemon:

sudo systemctl daemon-reload

Start geth.service:

sudo systemctl start geth

Check geth.service output:

sudo journalctl -f -u geth.service

This shows running journal entries created by geth.service. You can use Ctrl + C to close the window, but the program will continue running in the background.

Use sudo systemctl stop geth if you need to stop geth.service

The node will begin searching for peers, and eventually start downloading/verifying blocks.

Geth Sync

Geth data is currently ~875gb and may take ~24 hours to fully sync.

As you wait for the Eth1 node to sync, you can open a new terminal and install Lighthouse - Beacon Node.

You can check your progress by comparing your block number in Geth to the current block at

here
https://etherscan.io/