githubEdit

Step 4: Installing execution client

Pick an execution client

Your choice of either Getharrow-up-right, Besuarrow-up-right, Nethermindarrow-up-right, or Erigonarrow-up-right.

circle-info

To strengthen Ethereum's resilience against potential attacks or consensus bugs, it's best practice to run a minority client in order to increase client diversity. Find the latest distribution of execution clients here: https://clientdiversity.orgarrow-up-right

🛡️ Recommendation 🛡️: Nethermind

circle-exclamation
circle-info

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.

Review the latest release notes at https://github.com/ethereum/go-ethereum/releasesarrow-up-right

🧬Install from the repository

sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update -y
sudo apt-get install ethereum -y

⚙️ Setup and configure systemd

Run the following to create a unit file to define your eth1.service configuration.

Simply copy/paste the following.

cat > $HOME/eth1.service << EOF
[Unit]
Description=Geth Execution Layer Client service
Wants=network-online.target
After=network-online.target
Documentation=https://www.coincashew.com

[Service]
Type=simple
User=ethereum
Restart=on-failure
RestartSec=3
TimeoutSec=690
ExecStart=/usr/bin/geth \
  --mainnet \
  --metrics \
  --pprof \
  --authrpc.jwtsecret=/secrets/jwtsecret

[Install]
WantedBy=multi-user.target
EOF

Move the unit file to /etc/systemd/system and give it permissions.

Run the following to enable auto-start at boot time.

⛓️Start geth

🛠️ Helpful execution client commands

🪜 Next Steps

  • Now that your execution client is configured and started, proceed to the next section to setup your consensus client.

circle-exclamation