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.
Verify Go is properly installed by checking the version and cleanup files.
goversionrmgo.tar.gz
Install build dependencies.
sudoapt-getupdatesudoaptinstallbuild-essentialgit
Build the binary.
mkdir-p~/gitcd~/gitgitclone-bmasterhttps://github.com/ethereum/go-ethereum.gitcdgo-ethereum# Get new tagsgitfetch--tags# Get latest tag namelatestTag=$(gitdescribe--tags`gitrev-list--tags--max-count=1`)# Checkout latest taggitcheckout $latestTag# Buildmakegeth
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
sudosystemctlstopexecution
sudosystemctlstartexecution
sudosystemctlstatusexecution
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.