![Nethermind](https://user-images.githubusercontent.com/337518/184757473-5d70ac41-4afd-42f6-ab7b-5338ae09b2fb.png)
Nethermind Ethereum client
Nethermind is a high-performance, highly configurable full Ethereum protocol client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, Ethash, and Proof-of-Stake consensus algorithms. Nethermind offers very fast sync speeds and support for external plug-ins. 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 a Grafana dashboard and Seq enterprise logging.
Documentation
Nethermind documentation is available at docs.nethermind.io.
Supported networks
Mainnet
Goerli
Rinkeby
Ropsten
Sepolia
Gnosis (xDai)
Energy Web
Volta
Kovan
Download and run
Release builds are available on the Releases page and at downloads.nethermind.io.
Using PPA
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To run the launcher:
nethermind
- To run the runner:
nethermind -c mainnet
Tested on Ubuntu Series: Focal, Bionic, Xenial, and Trusty
Using Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To run the launcher:
nethermind-launcher
- 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 must show the image digest, and then you can copy that output to the FROM
tag in the Dockerfile.
Build from source
Prerequisites
Windows
- Install .NET
- For some versions of Windows, you may need to install Visual C++ Redistributable.
macOS
-
Install dependencies:
brew install rocksdb gmp snappy lz4 zstd
Ubuntu
-
Install dependencies:
sudo apt-get install libsnappy-dev libc6-dev libc6
An extra dependency for aarch64 (arm64):
sudo apt-get install libgflags-dev
Tested on Ubuntu 21.04, 20.04 and 18.04 LTS and 21.10
Debian
-
Install dependencies:
sudo apt-get install libsnappy-dev libc6-dev libc6
Tested on Debian 10 (9 not working)
CentOS
-
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
Tested on CentOS 8
Fedora
-
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
Tested on Fedora 32
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.