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 update
sudo apt install ccze curl libsnappy-dev libc6-dev jq libc6 unzip -y

2. Install Binaries

  • Downloading binaries is often faster and more convenient.

  • Building from source code can offer better compatibility and is more aligned with the spirit of FOSS (free open source software).

Option 1 - Download binaries

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

Install the binaries.

Option 2 - Build from source code

Install .NET SDK build dependencies.

Build the binaries.

Verify Nethermind was properly built by checking the version.

Sample output of a compatible version.

Install the binaries.

3. Setup and configure systemd

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

Paste the following configuration into the file.

Nethermind will prune the database when disk space is low (below 300GB)

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 "Received new block". For example,

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