Geth - Execution Engine
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:
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:
geth
user:sudo useradd --no-create-home --shell /bin/false geth
Create /geth
directory:
/geth
directory:sudo mkdir -p /var/lib/geth
Assign goeth
permission to modify /geth
:
goeth
permission to modify /geth
:sudo chown -R geth:geth /var/lib/geth
Create geth.service
:
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
Reload the daemon:
sudo systemctl daemon-reload
Start geth.service
:
geth.service
:sudo systemctl start geth
Check geth.service
output:
geth.service
output:sudo journalctl -f -u 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.
Last updated
Was this helpful?