Skip to content

NethermindEth/nethermind

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* added metrics for bad blocks

* increment metrics when bad blocks observed

* use config rather than hardcoding block extra data

* check for extra data containing (instead of being equal to) Nethermind and ignore case

* use defualt block extra data field

* handle exception if block extra data is null

* refactor and add test

* fix whitespace

* fix whitespace (again)

* merge lines

* avoid making internal class public

---------

Co-authored-by: Marc Harvey-Hill <marc@Marcs-MacBook-Pro.local>
1740ada

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
December 4, 2023 14:04
November 8, 2023 22:41
November 10, 2023 10:52
May 23, 2023 22:38

Nethermind

Nethermind Ethereum client

Tests Chat on Discord Follow us on Twitter Ask on Discourse GitPOAPs

Nethermind is a high-performance, highly configurable full Ethereum protocol execution client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, and Ethash. Nethermind offers very fast sync speeds and support for external plugins. 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 Grafana analytics and Seq logging.

Documentation

Nethermind documentation is available at docs.nethermind.io.

Supported networks

Mainnet Goerli Sepolia Holesky Gnosis (xDai) Chiado Energy Web Volta

Download and run

Release builds are available on the Releases page and at downloads.nethermind.io.

On Linux

Prerequisites

  • Ubuntu / Debian

    sudo apt-get install libsnappy-dev
  • CentOS / Fedora

    sudo dnf install -y snappy
    sudo ln -s `find /usr/lib64/ -type f -name "libbz2.so.1*"` /usr/lib64/libbz2.so.1.0

Install using PPA

  1. sudo add-apt-repository ppa:nethermindeth/nethermind
    If command not found: sudo apt-get install software-properties-common
  2. sudo apt-get install nethermind
  3. To run directly: nethermind -c mainnet
    or with the assistant: nethermind

On Windows

Prerequisites

Install Visual C++ Redistributable:

winget install Microsoft.VCRedist.2015+.x64

Install using Windows Package Manager

  1. winget install nethermind
  2. To run directly: nethermind.exe -c mainnet
    or with the assistant: nethermind-launcher.exe

On macOS

Prerequisites

brew install lz4 snappy zstd

Install using Homebrew

  1. brew tap nethermindeth/nethermind
  2. brew install nethermind
  3. To run directly: nethermind -c mainnet
    or with the assistant: nethermind-launcher

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 should show the image digest, and then you can copy that to the FROM tag in the Dockerfile.

Building from source

Prerequisites

Install .NET SDK

Clone the repository

git clone --recursive https://github.com/nethermindeth/nethermind.git

Build and run

cd nethermind/src/Nethermind/Nethermind.Runner
dotnet run -c release -- -c mainnet

Test

cd nethermind/src/Nethermind

# Run Nethermind tests:
dotnet test Nethermind.sln -c release

# Run Ethereum Foundation tests:
dotnet test EthereumTests.sln -c release

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.

Security

If you believe you have found a security vulnerability in our code, please report it to us as described in our security policy.

License

Nethermind is an open-source software licensed under the LGPL-3.0.