Links

Building From Source

Installing Dependencies

To build Nethermind on any platform you will need to install Git and the .NET SDK 6.0.
Depending on the platform you are using you may need to install extra dependencies.

Windows

This is not needed in all cases. Only install if you get an error during the build process.

MacOS

MacOS users will have to install the following dependencies.
brew install gmp snappy lz4 zstd
Apple Silicon (M1) users only
You will need to create symlink for homebrew dependencies.
sudo ln -s find /opt/homebrew/Cellar/snappy -name "libsnappy.dylib" /usr/local/lib/libsnappy.dylib

Linux

Ubuntu

amd64

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

arm64/aarch64

sudo apt-get install libsnappy-dev libc6-dev libc6 libgflags-dev
Debian
sudo apt-get install libsnappy-dev libc6-dev libc6
CentOS
sudo yum install -y glibc-devel bzip2-devel libzstd
sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0 && \
Fedora
sudo yum install -y glibc-devel snappy libzstd
sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0 && \

Building Nethermind

After you have installed all of the dependencies for your platform you need to clone the Nethermind repo from GitHub.
git clone --recursive https://github.com/NethermindEth/nethermind.git
Once the download has finished enter the nethermind/src/Nethermind directory and run the build command.
cd nethermind/src/Nethermind
dotnet build Nethermind.sln -c Release
Follow the link for instructions on running Nethermind

Directories

If you built the application locally then the entry point will be located in:
src/Nethermind/Nethermind.Runner/bin/Release/net6.0/
Log files by default are located in:
src/Nethermind/Nethermind.Runner/bin/Release/net6.0/logs
Database by default is located in:
src/Nethermind/Nethermind.Runner/bin/Release/net6.0/nethermind_db