Our flagship Ethereum client for Linux, Windows, and macOS—full and actively developed.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Lukasz Rozmej bc1256bda1
Eth_get_filter_changes_missing (#5513)
1 day ago
.github Update hive consensus workflow and ethereum tests (#5508) 2 days ago
scripts Add Nethermind.ReferenceAssemblies package (#5496) 3 days ago
src Eth_get_filter_changes_missing (#5513) 1 day ago
tools Moved TxParser in tools folder (#5436) 2 weeks ago
.dockerignore Feature/dockers optimalization (#2090) 3 years ago
.editorconfig Update the copyright year and revise file headers (#5071) 3 months ago
.gitattributes Revise launch settings and add Docker profile (#4246) 9 months ago
.gitignore add githooks to gitignore (#5304) 1 month ago
.gitmodules Consolidate scripts (#5096) 3 months ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#3158) 2 years ago
CONTRIBUTING.md Update the copyright year and revise file headers (#5071) 3 months ago
Dockerfile Add Nethermind.ReferenceAssemblies package (#5496) 3 days ago
Dockerfile.dev Add Nethermind.ReferenceAssemblies package (#5496) 3 days ago
Dockerfile.launcher Add SPDX file header (#4922) 4 months ago
Dockerfile.secp256k1 Add SPDX file header (#4922) 4 months ago
Dockerfile.stateRunner Migrate to .NET 7 (#4889) 4 months ago
LICENSE-GPL Revise README and separate LICENSE files (#4359) 8 months ago
LICENSE-LGPL Revise README and separate LICENSE files (#4359) 8 months ago
README.md Add winget package support (#5350) 4 weeks ago
SECURITY.md Create SECURITY.md 2 years ago
TERMS.md Replace terms and revise README (#4432) 7 months ago

README.md

Nethermind

Nethermind Ethereum client

Tests Chat on Discord Follow us on Twitter Ask on Discourse

Nethermind is a high-performance, highly configurable full Ethereum protocol execution client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, and Ethash. Nethermind offers very fast sync speeds and support for external plugins. Enjoy reliable access to rich on-chain data thanks to high-performance JSON-RPC based on the Kestrel web server. Healthy node monitoring is secured with Grafana analytics and Seq logging.

Documentation

Nethermind documentation is available at docs.nethermind.io.

Supported networks

Mainnet Goerli Sepolia Gnosis (xDai) Energy Web Volta

Download and run

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

On Linux using PPA

  1. sudo add-apt-repository ppa:nethermindeth/nethermind
    If command not found: sudo apt install software-properties-common
  2. sudo apt install nethermind
  3. To run the launcher: nethermind
  4. To run the runner: nethermind -c mainnet

On Windows using Windows Package Manager

  1. winget install nethermind
  2. To run the launcher: nethermind.launcher.exe
  3. To run the runner: nethermind.runner.exe -c mainnet

On macOS using Homebrew

  1. brew tap nethermindeth/nethermind
  2. brew install nethermind
  3. To run the launcher: nethermind-launcher
  4. To run the runner: 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.

Build from source

Prerequisites

Windows

macOS

  • Install .NET

  • Install dependencies:

    brew install gmp snappy lz4 zstd
    

Ubuntu

  • Install .NET

  • Install dependencies:

    sudo apt-get install libsnappy-dev libc6-dev libc6
    

    An extra dependency for aarch64 (arm64):

    sudo apt-get install libgflags-dev
    

Debian

  • Install .NET

  • Install dependencies:

    sudo apt-get install libsnappy-dev libc6-dev libc6
    

CentOS

  • Install .NET

  • Install dependencies:

    sudo yum install -y glibc-devel bzip2-devel libzstd
    
    # Link libraries
    sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0
    

Fedora

  • Install .NET

  • Install dependencies:

    sudo yum install -y glibc-devel snappy libzstd
    
    # Link libraries
    sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0
    

Build and run

git clone https://github.com/nethermindeth/nethermind --recursive
cd nethermind/src/Nethermind/Nethermind.Runner
dotnet run -c release -- -c mainnet

Test

Run the Nethermind and/or Ethereum Foundation tests as follows:

dotnet test Nethermind.sln -c debug
dotnet test EthereumTests.sln -c debug

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.

License

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