Nethermind

Installing and configuring Nethermind as a systemd service.

Nethermind

Nethermind is a high-performance Ethereum execution client built on .NET. It is highly favored by validators and MEV searchers due to its optimized execution speeds and flexible configuration.


🛡️ Role: Nethermind serves as a direct alternative to Geth. It contributes to Client Diversity, protecting your node (and the network) from potential bugs in the Go-Ethereum codebase.


1. Install Nethermind

We recommend installing Nethermind via the official PPA. This ensures you can easily update the node with a simple apt update in the future — just like Geth.

# 1. Install prerequisite (if needed)
sudo apt-get install -y software-properties-common

# 2. Enable the Nethermind PPA
sudo add-apt-repository -y ppa:nethermindeth/nethermind

# 3. Update package lists
sudo apt update

# 4. Install Nethermind
sudo apt install -y nethermind

# 5. Verify installation
nethermind --version

💡 Note: The PPA handles all dependencies (including libsnappy-dev and .NET runtime) automatically.


2. Configure Systemd Service

We will configure Nethermind to run as a background service, utilizing the data directories we created in Step 2.

Create the service file:

Paste the following configuration:

🔍 Flag Explanation:

  • --config mainnet: Loads the default mainnet presets (Snap Sync, etc.).

  • --JsonRpc.JwtSecretFile: The shared secret for the Engine API (Connection to Consensus Client).

  • --JsonRpc.Host 0.0.0.0: Allows external access (protected by Firewall).


3. Start the Service

Reload the systemd daemon and start the node.


4. Verify Status

Check the logs to ensure Nethermind is running and attempting to peer.

Expected Output:

  • Old Blocks: You might see it quickly importing "Old Headers" or "State" via Snap Sync.

  • Waiting for CL: You will see messages like Waiting for Consensus Client... or Engine API: New Payload. This confirms it is ready for Step 4.

Performance Note: Nethermind is very fast at syncing but consumes significant RAM during the initial sync. Ensure your machine has at least 32GB RAM.

Last updated