/nethermind

A robust execution client for Ethereum node operators.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Nethermind

Nethermind Ethereum client

Tests Chat on Discord Follow us on Twitter Ask on Discourse GitPOAPs

Nethermind is a high-performance, highly configurable Ethereum execution client built on .NET that runs on Linux, Windows, and macOS and supports Clique, Aura, and Ethash. With breakneck sync speeds and support for external plugins, it provides reliable access to rich on-chain data thanks to a high-performance JSON-RPC interface and node health monitoring with Grafana and Seq.

Documentation

Nethermind documentation is available at docs.nethermind.io.

Supported networks

Mainnet Goerli Sepolia Holesky Gnosis (xDai) Chiado Energy Web Volta

Download and run

Release builds are available on the Releases page and at downloads.nethermind.io.

On Linux

Install using PPA

  1. sudo add-apt-repository ppa:nethermindeth/nethermind
    If command not found: sudo apt-get install software-properties-common
  2. sudo apt-get install nethermind
  3. nethermind -c mainnet

On Windows

Prerequisites

In some cases, Visual C++ Redistributable may need an update:

winget install Microsoft.VCRedist.2015+.x64

Install using Windows Package Manager

  1. winget install nethermind
  2. nethermind -c mainnet

On macOS

Install using Homebrew

  1. brew tap nethermindeth/nethermind
  2. brew install nethermind
  3. nethermind -c mainnet

Docker image

The official Docker images of Nethermind are available on Docker Hub.

Get the digest of the Docker image

In case of any Docker image need to be updated in the repository, you can update the digest of these images as follows:

docker inspect --format='{{index .RepoDigests 0}}' <image_name>

The output should show the image digest, and then you can copy that to the FROM tag in the Dockerfile.

Building from source

Prerequisites

Install .NET SDK.

Clone the repository

git clone --recursive https://github.com/nethermindeth/nethermind.git

Build and run

cd nethermind/src/Nethermind/Nethermind.Runner
dotnet run -c release -- -c mainnet

Test

cd nethermind/src/Nethermind

# Run Nethermind tests:
dotnet test Nethermind.sln -c release

# Run Ethereum Foundation tests:
dotnet test EthereumTests.sln -c release

Contributing

BEFORE you start work on a feature or fix, please read and follow our contribution guide to help avoid any wasted or duplicate effort.

Security

If you believe you have found a security vulnerability in our code, please report it to us as described in our security policy.

License

Nethermind is an open-source software licensed under the LGPL-3.0.