Geth - Go Ethereum is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source and licensed under the GNU LGPL v3.
Official Links
Subject
Link
Releases
Documentation
Website
1. Create service account and data directory
Create a service user for the execution service, create data directory and assign ownership.
mkdir -p ~/git
cd ~/git
git clone -b master https://github.com/ethereum/go-ethereum.git
cd go-ethereum
# Get new tags
git fetch --tags
# Get latest tag name
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
# Checkout latest tag
git checkout $latestTag
# Build
make geth
Finally, start your execution layer client and check it's status.
sudo systemctl start execution
sudo systemctl status execution
Press Ctrl + C to exit the status.
4. Helpful execution client commands
sudo journalctl -fu execution | ccze
A properly functioning Geth execution client will indicate "Imported new potential chain segment". For example,
geth[4531]: INFO [02-04|01:20:48.280] Chain head was updated number=16000 hash=2317ae..c41107
geth[4531]: INFO [02-04|01:20:49.648] Imported new potential chain segment number=16000 hash=ab173f..33a21b
sudo systemctl stop execution
sudo systemctl start execution
sudo systemctl status execution
Common reasons to reset the database can include:
Recovering from a corrupted database due to power outage or hardware failure
Time to re-sync the execution client can take a few hours up to a day.
Now that your execution client is configured and started, proceed to the next step on setting up your consensus client.
If you're checking the logs and see any warnings or errors, please be patient as these will normally resolve once both your execution and consensus clients are fully synced to the Ethereum network.