Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@

From this repository, the Dappnode Nimbus package can be generated for 3 networks: the Hoodi Testnet, Ethereum Mainnet and Gnosis Chain.

## Gnosis support

The generic Nimbus package already supports **Gnosis** and already uses the split-client layout.

Default images for generic variants:
- `beacon-chain` → `statusim/nimbus-eth2`
- `validator` → `statusim/nimbus-validator-client`

For the **Gnosis** variant specifically, the package should use the Gnosis-maintained images:
- `beacon-chain` → `ghcr.io/gnosischain/gnosis-nimbus-eth2`
- `validator` → `ghcr.io/gnosischain/gnosis-nimbus-validator-client`

Gnosis images publish plain version tags, while the default Status images publish `multiarch-` prefixed tags. The Dockerfiles keep the default `statusim/*:multiarch-${UPSTREAM_VERSION}` behavior, and the Gnosis variant overrides both the image repository and image tag explicitly.

For Gnosis users, this generic package should be treated as the canonical multiclient package path instead of maintaining a separate single-service packaging model.

Nimbus is a client implementation for both the consensus layer (eth2) and execution layer (eth1) that strives to be as lightweight as possible in terms of resources used. This allows it to perform well on embedded systems, resource-restricted devices (including Raspberry Pis and mobile devices).

However, resource-restricted hardware is not the only thing Nimbus is good for. Its low resource consumption makes it easy to run Nimbus together with other workloads on your server (this is especially valuable for stakers looking to lower the cost of their server instances).
Expand Down
4 changes: 3 additions & 1 deletion beacon-chain/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ARG UPSTREAM_VERSION
ARG BEACON_BASE_IMAGE=statusim/nimbus-eth2
ARG BEACON_BASE_IMAGE_TAG=multiarch-${UPSTREAM_VERSION}

FROM statusim/nimbus-eth2:multiarch-${UPSTREAM_VERSION}
FROM ${BEACON_BASE_IMAGE}:${BEACON_BASE_IMAGE_TAG}

ARG NETWORK
ARG STAKER_SCRIPTS_VERSION
Expand Down
4 changes: 4 additions & 0 deletions package_variants/gnosis/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ services:
args:
NETWORK: gnosis
P2P_PORT: 9706
BEACON_BASE_IMAGE: ghcr.io/gnosischain/gnosis-nimbus-eth2
BEACON_BASE_IMAGE_TAG: v26.5.0
ports:
- 9706:9706
- 9706:9706/udp
Expand All @@ -19,3 +21,5 @@ services:
build:
args:
NETWORK: gnosis
VALIDATOR_BASE_IMAGE: ghcr.io/gnosischain/gnosis-nimbus-validator-client
VALIDATOR_BASE_IMAGE_TAG: v26.5.0
2 changes: 1 addition & 1 deletion setup-wizard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ fields:
title: Checkpoint for fast sync
description: >-
To get Nimbus up and running in only a few minutes, you can start Nimbus from a recent finalized checkpoint state rather than syncing from genesis. This is substantially **faster** and consumes **less resources** than syncing from genesis, while still providing all the same features. Be sure you are using a trusted node for the fast sync. Check the [Nimbus docs](https://nimbus.guide/trusted-node-sync.html) for more information.
Use the Dappnode Official endpoint for your network (`https://checkpoint-sync.dappnode.net`, `https://checkpoint-sync-hoodi.dappnode.net`, `https://checkpoint-sync-gnosis.dappnode.net`) or get your checkpoint sync from [Infura](https://infura.io/) (i.e https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@eth2-beacon.infura.io)
Use the Dappnode Official endpoint for your network (`https://checkpoint-sync.dappnode.net`, `https://checkpoint-sync-hoodi.dappnode.net`, `https://checkpoint-sync-gnosis.dappnode.net`). For Gnosis you can also use the official endpoint `https://checkpoint.gnosischain.com`. If you want to use a third-party provider, you can also get your checkpoint sync from [Infura](https://infura.io/) (i.e https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@eth2-beacon.infura.io)
*Note - If you are going to provide your own checkpoint sync endpoint, make sure you do not use a slash `/` at the end of the URL.*
required: false
- id: feeRecipientAddress
Expand Down
4 changes: 3 additions & 1 deletion validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ARG UPSTREAM_VERSION
ARG VALIDATOR_BASE_IMAGE=statusim/nimbus-validator-client
ARG VALIDATOR_BASE_IMAGE_TAG=multiarch-${UPSTREAM_VERSION}

FROM statusim/nimbus-validator-client:multiarch-${UPSTREAM_VERSION}
FROM ${VALIDATOR_BASE_IMAGE}:${VALIDATOR_BASE_IMAGE_TAG}

ARG NETWORK
ARG STAKER_SCRIPTS_VERSION
Expand Down