Code Monkey home page Code Monkey logo

nethermind's Introduction

Nethermind

Nethermind Ethereum client

Tests Chat on Discord Follow us on Twitter

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

  1. sudo add-apt-repository ppa:nethermindeth/nethermind
  2. sudo apt install nethermind
  3. To run the launcher: nethermind
  4. To run the runner: nethermind -c mainnet

Tested on Ubuntu Series: Focal, Bionic, Xenial, and Trusty

Using Homebrew

  1. brew tap nethermindeth/nethermind
  2. brew install nethermind
  3. To run the launcher: nethermind-launcher
  4. 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

macOS

  • Install .NET

  • Install dependencies:

    brew install rocksdb gmp snappy lz4 zstd

Ubuntu

  • Install .NET

  • 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 .NET

  • Install dependencies:

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

Tested on Debian 10 (9 not working)

CentOS

  • 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

Tested on CentOS 8

Fedora

  • 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

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.