Nethermind is a is a high-performance, highly configurable full Ethereum protocol client built on .NET Core 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 Kestrel web server. Healthy node monitoring is secured with a Grafana dashboard and Seq enterprise logging.
Network name |
---|
Mainnet |
Goerli |
Rinkeby |
Ropsten |
Sepolia |
xDai (Gnosis) |
Poacore |
Sokol |
EnergyWeb |
Volta |
Kovan |
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet_pruned
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet_pruned
- Install .NET
- You may need to install this.
- Install .NET
- Install dependencies
sudo apt-get install libsnappy-dev libc6-dev libc6
# Link libraries (only for Ubuntu >= 21.04)
amd64 architecture: sudo ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so
arm64/aarch64 architecture: sudo ln -s /usr/lib/aarch64-linux-gnu/libdl.so.2 /usr/lib/aarch64-linux-gnu/libdl.so
# Extra dependency for arm64/aarch64
sudo apt-get install libgflags-dev
Tested on Ubuntu 21.04, 20.04 and 18.04 LTS and 21.10
- Install .NET
- Install dependencies
sudo apt-get install libsnappy-dev libc6-dev libc6
Tested on Debian 10 (9 not working)
- 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 && \
sudo ln -s `find /usr/lib64/ -type f -name "libsnappy.so.1*"` /usr/lib64/libsnappy.so
Tested on CentOS 8
- 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 && \
sudo ln -s `find /usr/lib64/ -type f -name "libsnappy.so.1*"` /usr/lib64/libsnappy.so
# also required for Fedora 35
sudo ln -s `find /usr/lib64/ -type f -name "libdl.so.2*"` /usr/lib64/libdl.so
Tested on Fedora 32
- Install .NET
- Install dependencies
brew install rocksdb gmp snappy lz4 zstd
- Apple Silicon (M1) users only: create symlink for homebrew dependencies
sudo ln -s `find /opt/homebrew/Cellar/snappy -name "libsnappy.dylib"` /usr/local/lib/libsnappy.dylib
git clone https://github.com/NethermindEth/nethermind --recursive
cd nethermind/src/Nethermind
dotnet build Nethermind.sln -c Release
cd Nethermind.Runner
dotnet run -c Release --no-build --config mainnet
Official Nethermind docker images are available on Docker Hub.
In case of any docker image need to be updated in the repository, you can update the digest of this images with the next commands
docker inspect --format='{{index .RepoDigests 0}}' <image_name>
The output must show the image digest, and then you can copy that output in the FROM
tag inside the Dockerfile
If you want to run the Nethermind or Ethereum Foundation tests, then:
dotnet build Nethermind.sln -c Debug
dotnet test Nethermind.sln
dotnet build EthereumTests.sln -c Debug
dotnet test EthereumTests.sln