Nethermind

Overview

Nethermind is a flagship Ethereum client all about performance and flexibility. Built on .NET core, a widespread, enterprise-friendly platform, Nethermind makes integration with existing infrastructures simple, without losing sight of stability, reliability, data integrity, and security.

1. Initial configuration

Create a service user for the execution service, create data directory and assign ownership.

sudo adduser --system --no-create-home --group execution
sudo mkdir -p /var/lib/nethermind
sudo chown -R execution:execution /var/lib/nethermind

Install dependencies.

sudo apt install curl libsnappy-dev libc6-dev jq libc6 unzip -y

2. Install Binaries

  • Downloading binaries is often faster and more convenient.

Option 1 - Download binaries

Run the following to automatically download the latest linux release, un-zip and cleanup.

RELEASE_URL="https://api.github.com/repos/NethermindEth/nethermind/releases/latest"
BINARIES_URL="$(curl -s $RELEASE_URL | jq -r ".assets[] | select(.name) | .browser_download_url" | grep linux-x64)"

echo Downloading URL: $BINARIES_URL

cd $HOME
wget -O nethermind.zip $BINARIES_URL
unzip -o nethermind.zip -d $HOME/nethermind
rm nethermind.zip

Install the binaries.

sudo mv $HOME/nethermind /usr/local/bin/nethermind

3. Setup and configure systemd

Create a systemd unit file to define your execution.service configuration.

Paste the following configuration into the file.

To exit and save, press Ctrl + X, then Y, then Enter.

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

Finally, start your execution layer client and check it's status.

Press Ctrl + C to exit the status.

4. Helpful execution client commands

A properly functioning Nethermind execution client will indicate "block nnn ... was processed". For example,

Now that your execution client is configured and started, proceed to the next step on setting up your consensus client.