nethermind-ethereum

nethermind-ethereum

Official

Docker app from zgo's Repository

Overview

Official .net implementation of the Ethereum protocol.

Nethermind Ethereum client

Tests Follow us on X Chat on Discord GitHub Discussions

Nethermind client

Overview

Nethermind is a high-performance Ethereum execution client built on .NET. It provides fast sync, high-throughput JSON-RPC, and a plugin system for extending the client without forking. In production since 2017.

Runs on Linux, Windows, and macOS.

Supported networks

Ethereum · Gnosis · Optimism · Taiko · World Chain · Linea · Energy Web

Documentation

Nethermind documentation is available at docs.nethermind.io.

Capabilities

Nethermind connects operators to the Ethereum network via JSON-RPC over HTTP, WebSocket, and IPC. Snap sync, enabled by default, reaches the chain tip up to 10x faster than traditional fast sync. Node health and performance are exposed through a built-in UI and Prometheus metrics.

  • Performance: The EVM is optimized for low-overhead block processing: direct opcode dispatch, hardware-accelerated bitwise operations, and zero heap allocation on the execution stack. A parallel pre-execution system warms state reads before a block's main loop, cutting block processing time roughly in half.

  • Modularity: Every component of the Nethermind is independently extendable without forking the codebase. The plugin system lets teams add consensus algorithms, transaction types, network protocols, and RPC namespaces through a .NET assembly that loads on startup. Nethermind uses this same system internally for L2 network support and health checks.

  • Client diversity: The Ethereum protocol becomes more resilient when no single node implementation dominates. A bug in any one implementation cannot cause the network to finalize a bad block if multiple independent clients are running.

  • L2 and rollup native: Each supported L2 network is implemented as a plugin, so the core stays untouched. For OP Stack operators, a rollup node is built directly into the client, fully replacing the separate op-node and cutting services from two down to one.

  • ZK-readiness: ZK proving is being built directly into the production execution client. Execution witness capture, stateless block replay, and a minimal EVM binary are complete. See the ZK roadmap for current status.

Getting started

Standalone release builds are available on GitHub Releases. For hardware requirements, see System requirements.

Migrating from Geth? Nethermind supports the same JSON-RPC API. See the migration guide.

Package managers

  • Linux

    On Debian-based distros, Nethermind can be installed via Launchpad PPA:

    sudo add-apt-repository ppa:nethermindeth/nethermind
    # If command not found, run
    # sudo apt-get install software-properties-common
    
    sudo apt-get install nethermind
    
  • Windows

    On Windows, Nethermind can be installed via Windows Package Manager:

    winget install --id Nethermind.Nethermind
    
  • macOS

    On macOS, Nethermind can be installed via Homebrew:

    brew tap nethermindeth/nethermind
    brew install nethermind
    

Once installed, Nethermind can be launched as follows:

nethermind -c mainnet --data-dir path/to/data/dir

For full setup instructions, see Running a node. To spin up Nethermind alongside a consensus client in one command, see Sedge.

Docker containers

The official Docker images of Nethermind are available on Docker Hub and tagged as follows:

  • latest: the latest version of Nethermind (the default tag)
  • latest-chiseled: a rootless and chiseled image of the latest version of Nethermind
  • x.x.x: a specific version of Nethermind
  • x.x.x-chiseled: a rootless and chiseled image of the specific version of Nethermind

For more info, see Installing Nethermind.

Building from source

Docker image

This is the easiest and fastest way to build Nethermind if you don't want to clone the Nethermind repo, deal with .NET SDK installation, and other configurations. Running the following simple command builds the Docker image, which is ready to run right after:

docker build https://github.com/nethermindeth/nethermind.git -t nethermind

For more info, see Building Docker image.

Standalone binaries

Prerequisites

Install .NET SDK 10 or later.

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 --solution Nethermind.slnx -c release

# Run Ethereum Foundation tests
dotnet test --solution EthereumTests.slnx -c release

For more info, see Building standalone binaries.

Plugin development

Nethermind's plugin system lets teams extend the client without touching the core. This is the same system used internally for L2 network support, health checks, Shutter, and more. Plugins are loaded on startup and can provide:

  • New consensus engines
  • Custom transaction types and RLP decoders
  • New P2P protocol handlers
  • Additional JSON-RPC namespaces

See the plugin development guide for a full lifecycle walkthrough, configuration auto-mapping, and working examples. Join the plugin development channel on Discord.

Getting help

Check out the docs first. If the answer is not there, see:

Contributing

Before you start working on a feature or fix, please read and follow our contributing guidelines 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. By using this project, you agree to abide by the license and additional terms.

Install nethermind-ethereum on Unraid in a few clicks.

Find nethermind-ethereum in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for nethermind-ethereum Review the template variables and paths Click Install

Categories

Download Statistics

791,228
Total Downloads
20,948
This Month
22,264
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
nethermind/nethermind
Last Updated2026-06-15
First Seen2023-06-27

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

JSON-RPC HTTPPorttcp

JSON-RPC HTTP server supports a number of APIs.

Target
8545
Value
8545
JSON-RPC Web-SocketPorttcp

Web-Sockets server supports a number of APIs.

Target
8546
Value
8546
listenerPorttcp

listener (TCP) port

Target
30303
Value
30303
discoveryPortudp

discovery (UDP) port

Target
30303
Value
30303
data-pathPathrw

Persistent data directory for blockchain files, keys

Target
/nethermind/data
Default
/mnt/user/appdata/ethereum
Value
/mnt/user/blockchain/ethereum/
NETHERMIND_INITCONFIG_ISMININGVariable
Default
false
Value
false
NETHERMIND_JSONRPCCONFIG_ENABLEDVariable
Default
true
Value
true
NETHERMIND_JSONRPCCONFIG_HOSTVariable
Default
0.0.0.0
Value
0.0.0.0
NETHERMIND_JSONRPCCONFIG_ENGINEHOSTVariable
Default
0.0.0.0
Value
0.0.0.0
NETHERMIND_JSONRPCCONFIG_ENGINEPORTVariable
Default
8551
Value
8551
NETHERMIND_JSONRPCCONFIG_JWTSECRETFILEVariable
Default
/nethermind/data/keystore/jwt-secret/jwt.hex
Value
/nethermind/data/keystore/jwt-secret/jwt.hex