Skip to content

Commit

Permalink
Update CDVN with latest changes found in LCDVN (#283)
Browse files Browse the repository at this point in the history
Update CDVN with latest changes found in LCDVN.

Add example with holesky and do not treat holesky as the default in the
docker compose.

Update the readme.

ticket: #285
  • Loading branch information
KaloyanTanev authored Sep 26, 2024
1 parent 5e1a5ef commit 025027a
Show file tree
Hide file tree
Showing 14 changed files with 2,794 additions and 2,996 deletions.
51 changes: 26 additions & 25 deletions .env.sample → .env.sample.holesky
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,29 @@
# in docker-compose.yml. Rename this file to `.env` and then uncomment and set any variable below.

# Overrides network for all the relevant services.
#NETWORK=
NETWORK=holesky

# Enables builder api for lodestar VC and charon services.
#BUILDER_API_ENABLED=
#BUILDER_SELECTION=

######### Nethermind Config #########

# Nethermind docker container image version, e.g. `latest` or `1.25.3`.
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
#NETHERMIND_VERSION=

# Nethermind host exposed ports
# Nethermind host exposed ip and ports
#NETHERMIND_PORT_P2P=
#NETHERMIND_IP_HTTP=
#NETHERMIND_PORT_HTTP=
#NETHERMIND_IP_ENGINE=
#NETHERMIND_PORT_ENGINE=

# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
#NETHERMIND_ANCIENT_BODIES_BARRIER=
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=

######### Lighthouse Config #########

# Lighthouse beacon node docker container image version, e.g. `latest` or `v4.6.0`.
Expand All @@ -29,11 +36,12 @@

# Checkpoint sync url used by lighthouse to fast sync.
# See available options https://eth-clients.github.io/checkpoint-sync-endpoints/.
#LIGHTHOUSE_CHECKPOINT_SYNC_URL=
# If the given url errors, try replacing it with an alternative url like https://sync-mainnet.beaconcha.in/.
LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/

######### Lodestar Config #########

# Lodestar validator client docker container image version, e.g. `latest` or `v1.15.1`.
# Lodestar validator client docker container image version, e.g. `latest` or `v1.20.1`.
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
#LODESTAR_VERSION=

Expand All @@ -42,7 +50,7 @@

######### Charon Config #########

# Charon docker container image version, e.g. `latest` or `v1.0.0`.
# Charon docker container image version, e.g. `latest` or `v1.0.1`.
# See available tags https://hub.docker.com/r/obolnetwork/charon/tags.
#CHARON_VERSION=

Expand Down Expand Up @@ -72,24 +80,27 @@

######### MEV-Boost Config #########

# MEV-Boost docker container image version, e.g. `latest` or `1.6`.
# Note that mev-boost tag 1.6.1a3 supports the holesky network.
# MEV-Boost docker container image version, e.g. `latest` or `1.7.0`.
#MEVBOOST_VERSION=

# MEV-Boost docker container image name, e.g. flashbots/mev-boost.
#MEVBOOST_IMAGE=

# Comma separated list of MEV-Boost relays.
# You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
#MEVBOOST_RELAYS=
#MEVBOOST_RELAYS=https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live,https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money,https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz

######### Monitoring Config #########

# Grafana docker container image version, e.g. `latest` or `9.4.3`.
# Grafana docker container image version, e.g. `latest` or `10.4.2`.
# See available tags https://github.com/grafana/grafana/releases.
#GRAFANA_VERSION=

# Grafana host exposed port
# Grafana host exposed ip and port.
#MONITORING_IP_GRAFANA=
#MONITORING_PORT_GRAFANA=

# Prometheus docker container image version, e.g. `latest` or `v2.42.0`.
# Prometheus docker container image version, e.g. `latest` or `v2.50.1`.
# See available tags https://github.com/prometheus/prometheus/releases.
#PROMETHEUS_VERSION=

Expand All @@ -99,22 +110,15 @@
# Prometheus service owner used to uniquely identify user from which metrics are pushed.
#SERVICE_OWNER=charon_user

######### Voluntary Exit Config #########

# This applies to compose-voluntary-exit.yml only

# Cluster wide consistent exit epoch. Set to latest for fork version, see `curl $BEACON_NODE/eth/v1/config/fork_schedule`
#EXIT_EPOCH=

######### Debug Config #########

# This applies to compose-debug.yml only
# This applies to compose-debug.yml only.

# Prometheus Node exporter docker container image version, e.g. `latest` or `1.5.0`.
# Prometheus Node exporter docker container image version, e.g. `latest` or `1.6.0`.
# See available tags https://hub.docker.com/r/bitnami/node-exporter/tags.
#NODE_EXPORTER_VERSION=

# Jaeger docker container image version, e.g. `latest` or `1.42.0`.
# Jaeger docker container image version, e.g. `latest` or `1.46.0`.
# See available tags https://hub.docker.com/r/jaegertracing/all-in-one/tags.
#JAEGER_VERSION=

Expand All @@ -123,7 +127,4 @@

# Grafana Loki docker container image version, e.g. `latest` or `2.8.2`.
# See available tags https://hub.docker.com/r/grafana/loki/tags.
#LOKI_VERSION=

# Loki host exposed port
#MONITORING_PORT_LOKI=
#LOKI_VERSION=
52 changes: 30 additions & 22 deletions .env.sample.mainnet
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,28 @@ NETWORK=mainnet

# Enables builder api for lodestar VC and charon services.
#BUILDER_API_ENABLED=
#BUILDER_SELECTION=

######### Nethermind Config #########

# Nethermind docker container image version, e.g. `latest` or `1.25.3`.
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
#NETHERMIND_VERSION=

# Nethermind host exposed ports
# Nethermind host exposed ip and ports
#NETHERMIND_PORT_P2P=
#NETHERMIND_IP_HTTP=
#NETHERMIND_PORT_HTTP=
#NETHERMIND_IP_ENGINE=
#NETHERMIND_PORT_ENGINE=

# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
#NETHERMIND_ANCIENT_BODIES_BARRIER=
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=

######### Lighthouse Config #########

# Lighthouse beacon node docker container image version, e.g. `latest` or `v4.5.0`.
# Lighthouse beacon node docker container image version, e.g. `latest` or `v4.6.0`.
# See available tags https://hub.docker.com/r/sigp/lighthouse/tags.
#LIGHTHOUSE_VERSION=

Expand All @@ -34,7 +41,7 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/

######### Lodestar Config #########

# Lodestar validator client docker container image version, e.g. `latest` or `v1.15.1`.
# Lodestar validator client docker container image version, e.g. `latest` or `v1.20.1`.
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
#LODESTAR_VERSION=

Expand All @@ -43,7 +50,7 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/

######### Charon Config #########

# Charon docker container image version, e.g. `latest` or `v1.0.0`.
# Charon docker container image version, e.g. `latest` or `v1.0.1`.
# See available tags https://hub.docker.com/r/obolnetwork/charon/tags.
#CHARON_VERSION=

Expand Down Expand Up @@ -73,41 +80,45 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/

######### MEV-Boost Config #########

# MEV-Boost docker container image version, e.g. `latest` or `1.6`.
# MEV-Boost docker container image version, e.g. `latest` or `1.7.0`.
#MEVBOOST_VERSION=

# MEV-Boost docker container image name, e.g. flashbots/mev-boost.
#MEVBOOST_IMAGE=

# Comma separated list of MEV-Boost relays.
# You can choose public mainnet relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
MEVBOOST_RELAYS=https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net,https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net
# You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
#MEVBOOST_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@titanrelay.xyz

######### Monitoring Config #########

# Grafana docker container image version, e.g. `latest` or `9.4.3`.
# Grafana docker container image version, e.g. `latest` or `10.4.2`.
# See available tags https://github.com/grafana/grafana/releases.
#GRAFANA_VERSION=

# Grafana host exposed port
# Grafana host exposed ip and port.
#MONITORING_IP_GRAFANA=
#MONITORING_PORT_GRAFANA=

# Prometheus docker container image version, e.g. `latest` or `v2.42.0`.
# Prometheus docker container image version, e.g. `latest` or `v2.50.1`.
# See available tags https://github.com/prometheus/prometheus/releases.
#PROMETHEUS_VERSION=

######### Voluntary Exit Config #########
# Prometheus remote write token used for accessing external prometheus.
#PROM_REMOTE_WRITE_TOKEN=

# This applies to compose-voluntary-exit.yml only

# Cluster wide consistent exit epoch. Set to latest for fork version, see `curl $BEACON_NODE/eth/v1/config/fork_schedule`
#EXIT_EPOCH=
# Prometheus service owner used to uniquely identify user from which metrics are pushed.
#SERVICE_OWNER=charon_user

######### Debug Config #########

# This applies to compose-debug.yml only
# This applies to compose-debug.yml only.

# Prometheus Node exporter docker container image version, e.g. `latest` or `1.5.0`.
# Prometheus Node exporter docker container image version, e.g. `latest` or `1.6.0`.
# See available tags https://hub.docker.com/r/bitnami/node-exporter/tags.
#NODE_EXPORTER_VERSION=

# Jaeger docker container image version, e.g. `latest` or `1.42.0`.
# Jaeger docker container image version, e.g. `latest` or `1.46.0`.
# See available tags https://hub.docker.com/r/jaegertracing/all-in-one/tags.
#JAEGER_VERSION=

Expand All @@ -116,7 +127,4 @@ MEVBOOST_RELAYS=https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205

# Grafana Loki docker container image version, e.g. `latest` or `2.8.2`.
# See available tags https://hub.docker.com/r/grafana/loki/tags.
#LOKI_VERSION=

# Loki host exposed port
#MONITORING_PORT_LOKI=
#LOKI_VERSION=
24 changes: 11 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,26 @@ Check the Obol [docs](https://docs.obol.tech/docs/start/quickstart_overview) for

# Examples

In the `examples/` directory, you will find a collection of docker compose configuration files that demonstrate various clients and
their configurations for running a Distributed Validator Node. These files are with filenames as {EC}-{CC}-{VC}.yml (where
EC: Execution Client, CC: Consensus Client, VC: Validator Client). For example,
if you wish to run a DV node with Nethermind EL, Teku CL and Lighthouse VC, you can run `nethermind_teku_lighthouse.yml`.
A default example configuration of a full validator node is found in the root `docker-compose.yml` file.

The `examples/` directory is under development, you will find a collection of docker compose configuration files that demonstrate various clients and their configurations for running a Distributed Validator Node. These files are with filenames as {EC}-{CC}-{VC}.yml (where EC: Execution Client, CC: Consensus Client, VC: Validator Client). For example, if you wish to run a DV node with Geth EL, Teku CL and Lighthouse VC, you can run `geth_teku_lighthouse.yml`.

⚠️⚠️⚠️ **Important:**
The configurations provided in the examples are meant for demonstration purposes only and may not be suitable for production environments.
The configurations provided are meant for demonstration purposes only and may not be suitable for production environments.
These examples are primarily intended for advanced users who are familiar with Docker and have a good understanding of execution and consensus clients.
Please exercise caution when using them and ensure that you thoroughly review and customize the configurations according to your specific requirements.

To run any of the examples, use the following command:
To run the default example, use the following command:

```
docker compose -f examples/nethermind_teku_lighthouse.yml up
```sh
docker compose up
```

To run any of the other examples, found in `examples/` use the following command:

# Project Status

It is still early days for the Obol Network and everything is under active development.
It is NOT ready for mainnet.
Keep checking in for updates, [here](https://dvt.obol.tech/) is the latest on charon's supported clients and duties.
```sh
docker compose -f examples/nethermind_teku_lighthouse.yml up
```

# FAQs

Expand Down
2 changes: 1 addition & 1 deletion docker-compose.override.yml.sample
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#ports:
#- 8545:8545 # JSON-RPC
#- 8551:8551 # AUTH-RPC
#- 6060:6060 # Metrics
#- 8008:8008 # Metrics

#lighthouse:
# Disable lighthouse
Expand Down
Loading

0 comments on commit 025027a

Please sign in to comment.