Nethermind Bootnode is a lightweight, standalone service for Ethereum peer discovery. It supports discv4 and discv5, keeps a persistent identity, and exposes REST, JSON-RPC, and Prometheus metrics. It helps nodes find peers; it does not replace a full Ethereum node.
Minimum requirements (Bootnode only): 1 vCPU, 1 GiB RAM, and 1 GiB free disk.
Native
On Linux or macOS, this selects and downloads the 1.0.0 archive for your OS and architecture:
case "$(uname -s)" in
Linux) os=linux ;;
Darwin) os=macos ;;
*) echo "Use the Windows x64 ZIP from the release page"; exit 1 ;;
esac
case "$(uname -m)" in
x86_64|amd64) arch=x64 ;;
aarch64|arm64) arch=arm64 ;;
*) echo "Unsupported architecture"; exit 1 ;;
esac
asset="nethermind-bootnode-1.0.0-${os}-${arch}.tar.gz"
curl -fL -o "$asset" \
"https://github.com/NethermindEth/nethermind/releases/download/bootnode-1.0.0/$asset"
mkdir -p bootnode-1.0.0
tar -xzf "$asset" -C bootnode-1.0.0
cd bootnode-1.0.0
./bootnode --data-dir ./bootnode-dataAdd Grafana
For a native Bootnode on Linux, start it with --metrics-host 0.0.0.0 so Prometheus can scrape it. Restrict access to port 6060.
./bootnode --data-dir ./bootnode-data --metrics-host 0.0.0.0In another terminal, from the extracted directory:
export GRAFANA_ADMIN_PASSWORD='choose-a-password'
docker compose -f observability/docker-compose.yml up -dOpen http://localhost:3000. Monitoring setup.
Docker
The Docker image is avaiable on Docker Hub.
docker pull nethermindeth/bootnode:1.0.0
docker run -d --name bootnode \
-p 30303:30303/udp \
-p 127.0.0.1:8546:8546 \
-p 127.0.0.1:6060:6060 \
-v bootnode-data:/nethermind-bootnode/data \
nethermindeth/bootnode:1.0.0