Links

How to install

Nethermind can be installed in several ways:

Prerequisites

Does not apply to Docker distributions.
Linux
Windows
macOS
On Linux systems, Snappy is a required dependency. Below are the installation instructions for the supported distros.

Ubuntu and Debian-based distros

sudo apt-get install libsnappy-dev

CentOS, Fedora, and RHEL-like distros

sudo dnf install snappy
On RHEL-like systems, Nethermind also requires the following symlink to bzip2:
sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0
Although the modern versions of Windows are bundled with a recent version of Microsoft Visual C++ Redistributable, in some cases, it may need an update:
winget install Microsoft.VCRedist.2015+.x64
None

Package managers

Package managers are the easiest and fastest way of installing Nethermind.

Ubuntu

On Ubuntu and other Linux distros supporting PPA, Nethermind can be installed via Launchpad PPA.
First, add the Nethermind repository:
sudo add-apt-repository ppa:nethermindeth/nethermind
If the command is not found, run:
sudo apt-get install software-properties-common
Then, install Nethermind as follows:
sudo apt-get update
sudo apt-get install nethermind

Windows

On Windows, Nethermind can be installed via Windows Package Manager as follows:
winget install nethermind

macOS

On macOS, Nethermind can be installed via Homebrew.
First, add the Nethermind repository:
brew tap nethermindeth/nethermind
Then, install Nethermind as follows:
brew install nethermind
For further instructions, see Running Nethermind.

Standalone downloads

Standalone downloads give users more flexibility by allowing them to install a specific version of Nethermind, choose the installation location, and prevent automatic updates.
Standalone downloads are available on GitHub Releases and at downloads.nethermind.io as ZIP archives for x64 and AArch64 (ARM64) CPU architectures for Linux, Windows, and macOS.
For further instructions, see Running Nethermind.

Docker container

The Docker images of Nethermind are available on Docker Hub.
This registry provides production versions of Nethermind with two types of tags:
  • nethermind/nethermind:latest is the latest version of Nethermind (the default tag)
  • nethermind/nethermind:<version> is the specific version of Nethermind where <version> is the actual version of Nethermind.
To download the image from the registry, run:
docker pull nethermind/nethermind
Starting a node is achieved by:
docker run -it nethermind/nethermind
The following ports are exposed by default:
  • 8545: TCP, for the JSON-RPC interface
  • 8551: TCP, for the consensus client JSON-RPC interface
  • 30303: TCP and UDP, for P2P networking
It's highly recommended to mount data volumes as the Nethermind's data directories to ensure the synced data is preserved between the container restarts.
The following volume mount points are available by default:
  • /nethermind/nethermind_db: used to store the database
  • /nethermind/logs: used to store the logs
  • /nethermind/keystore: used to store the keys
To mount separate volumes for each directory listed above, run:
docker run -it \
--mount type=bind,source=path/to/db,target=/nethermind/nethermind_db \
--mount type=bind,source=path/to/logs,target=/nethermind/logs \
--mount type=bind,source=path/to/keystore,target=/nethermind/keystore \
nethermind/nethermind
Alternatively, a single volume can be specified as the Nethermind data directory as follows:
docker run -it \
--mount type=bind,source=path/to/data_dir,target=/nethermind/data_dir \
nethermind/nethermind -dd /nethermind/data_dir
Note that any Nethermind-specific configuration option can be specified at the end. For instance, the -dd option in this case.

See also