Skip to content

huyen-pk/nethermind

 
 

Repository files navigation

.NET Core Ethereum client

Documentation https://docs.nethermind.io
Gitter Gitter https://gitter.im/nethermindeth/nethermind
Discord Discord
Medium https://medium.com/nethermind-eth
Twitter https://twitter.com/nethermindeth
Releases GitHub release https://github.com/NethermindEth/nethermind/releases
Website https://nethermind.io/
Docker https://hub.docker.com/r/nethermind/nethermind
Codecov.io codecov https://codecov.io/gh/NethermindEth/nethermind
Fund with Gitcoin https://gitcoin.co/grants/142/nethermind
Github Actions [RUN] Consensus Legacy Tests [RUN] Nethermind/Ethereum Tests with Code Coverage [UPDATE] GitBook Docs https://github.com/NethermindEth/nethermind/actions

Download and run:

Windows
Linux x64/arm64
MacOS

It syncs fully on:

  • Mainnet
  • Goerli
  • Rinkeby
  • Ropsten
  • Sepolia
  • xDai
  • Poacore
  • Sokol
  • Energyweb
  • Volta
  • Kovan (only fast sync and may fail if pWASM transactions appear)

PPA (Tested on Ubuntu Series: Focal, Bionic, Xenial and Trusty)

  1. sudo add-apt-repository ppa:nethermindeth/nethermind
  2. sudo apt install nethermind
  3. To execute the launcher nethermind
  4. To execute the runner nethermind --config mainnet_pruned

Homebrew

  1. brew tap nethermindeth/nethermind
  2. brew install nethermind
  3. To execute the launcher nethermind-launcher
  4. To execute the runner nethermind --config mainnet_pruned

Build from Source

Prerequisites 🚧

.NET 6.0 SDK

Windows

Linux

Ubuntu

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

# Link libraries (only for Ubuntu 21.10)
sudo ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so

Tested on Ubuntu 21.04, 20.04 and 18.04 LTS and 21.10

Debian

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

Tested on Debian 10 (9 not working)

CentOS

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

Fedora

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

MacOS

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

Build and Run

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_pruned

Docker Image

Official Nethermind docker images are available on Docker Hub.

Get digest of docker image

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

Test

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

IDE

Contributors welcome

GitHub Issues Gitter GitHub Contributors

At Nethermind we are building an open source multiplatform Ethereum client implementation in .NET Core (running seamlessly on Linux, Windows and MacOS). Simultaneously our team works on Nethermind Data Marketplace and on-chain data extraction tools and client customizations.

Nethermind client can be used in your projects, when setting up private Ethereum networks or dApps. The latest prod version of Nethermind can be found at downloads.nethermind.io.

License

GitHub

About

.NET Core Ethereum client for Linux, Windows, MacOs - full and actively developed

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.4%
  • Shell 0.3%
  • C 0.2%
  • CMake 0.1%
  • Python 0.0%
  • Solidity 0.0%