Skip to content

Commit 3939c43

Browse files
Multi client (#344)
Co-authored-by: Diogo Santos <[email protected]>
1 parent cd810c4 commit 3939c43

18 files changed

+1036
-199
lines changed

.env.sample.holesky

Lines changed: 117 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4,53 +4,108 @@
44
# Overrides network for all the relevant services.
55
NETWORK=holesky
66

7-
# Enables builder api for lodestar VC and charon services.
7+
# Execution layer client to be used in a DV setup. Uncomment only the desired client.
8+
EL=el-nethermind
9+
10+
# Consensus layer client to be used in a DV setup. Uncomment only the desired client.
11+
CL=cl-lighthouse
12+
#CL=cl-grandine
13+
14+
# Validator client to be used in a DV setup. Uncomment only the desired client.
15+
VC=vc-lodestar
16+
#VC=vc-nimbus
17+
#VC=vc-prysm
18+
#VC=vc-teku
19+
20+
# MEV client to be used in a DV setup. Uncomment only the desired client.
21+
MEV=mev-mevboost
22+
#MEV=mev-commitboost
23+
24+
# Do not edit. These profiles and files dictate Docker which client types and from where to start for execution, consensus, validator and MEV.
25+
# The actual adjustable values are specified above
26+
COMPOSE_PROFILES=${EL},${CL},${VC},${MEV}
27+
COMPOSE_FILE=compose-el.yml:compose-cl.yml:compose-vc.yml:compose-mev.yml:docker-compose.yml
28+
29+
# Enables Builder API.
830
#BUILDER_API_ENABLED=
9-
#BUILDER_SELECTION=
1031

11-
######### Nethermind Config #########
32+
######### Execution Layer Config #########
1233

13-
# Nethermind docker container image version, e.g. `latest` or `1.25.3`.
34+
# EL host exposed IPs and ports.
35+
#EL_PORT_P2P=
36+
#EL_IP_HTTP=
37+
#EL_PORT_HTTP=
38+
#EL_IP_ENGINE=
39+
#EL_PORT_ENGINE=
40+
41+
# Nethermind docker container image version.
1442
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
1543
#NETHERMIND_VERSION=
1644

17-
# Nethermind host exposed ip and ports
18-
#NETHERMIND_PORT_P2P=
19-
#NETHERMIND_IP_HTTP=
20-
#NETHERMIND_PORT_HTTP=
21-
#NETHERMIND_IP_ENGINE=
22-
#NETHERMIND_PORT_ENGINE=
23-
2445
# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
2546
#NETHERMIND_ANCIENT_BODIES_BARRIER=
2647
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=
2748

28-
######### Lighthouse Config #########
49+
######### Consensus Layer Config #########
2950

30-
# Lighthouse beacon node docker container image version, e.g. `latest` or `v4.6.0`.
51+
# CL beacon node host exposed ports.
52+
#CL_PORT_P2P=
53+
54+
# Lighthouse becon node checkpoint sync URL used by consensus layer to fast sync.
55+
LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/
56+
57+
# Lighthouse beacon node docker container image version.
3158
# See available tags https://hub.docker.com/r/sigp/lighthouse/tags.
32-
#LIGHTHOUSE_VERSION=
59+
#CL_LIGHTHOUSE_VERSION=
3360

34-
# Lighthouse beacon node host exposed ports
35-
#LIGHTHOUSE_PORT_P2P=
61+
# Grandine beacon node docker container image version.
62+
# See available tags https://hub.docker.com/r/sifrai/grandine/tags.
63+
#CL_GRANDINE_VERSION=
3664

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

42-
######### Lodestar Config #########
67+
# Override prometheus metrics port for validator client.
68+
#VC_PORT_METRICS=
4369

44-
# Lodestar validator client docker container image version, e.g. `latest` or `v1.20.1`.
70+
# Lodestar validator client docker container image version.
4571
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
46-
#LODESTAR_VERSION=
72+
#VC_LODESTAR_VERSION=
73+
74+
#VC_LODESTAR_BUILDER_SELECTION=
75+
76+
# Nimbus validator client docker container image version.
77+
# See available tags https://hub.docker.com/r/statusim/nimbus-validator-client/tags
78+
#VC_NIMBUS_VERSION=
79+
80+
# Prysm validator client docker container image version.
81+
# See available tags https://hub.docker.com/r/offchainlabs/prysm-validator/tags
82+
#VC_PRYSM_VERSION=
83+
84+
# Teku validator client docker container image version.
85+
# See available tags https://hub.docker.com/r/consensys/teku/tags
86+
#VC_TEKU_VERSION=
87+
88+
######### MEV Config #########
89+
90+
# MEV timeouts.
91+
# N.B.: Commit-boost uses TOML configuration instead of env variables. Configure those at commit-boost/.
92+
#MEV_TIMEOUT_GETHEADER=
93+
#MEV_TIMEOUT_GETPAYLOAD=
94+
#MEV_TIMEOUT_REGVAL=
4795

48-
# Override prometheus metrics port for lodestar validator client.
49-
#LODESTAR_PORT_METRICS=
96+
# Comma separated list of MEV relays. You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
97+
# N.B.: Commit-boost uses TOML configuration instead of env variables. Configure those at commit-boost/.
98+
MEV_RELAYS=https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live,https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money,https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz
99+
100+
# MEV-Boost docker container image version.
101+
#MEV_MEVBOOST_VERSION=
102+
103+
# Commit-Boost docker container image version.
104+
#MEV_COMMITBOOST_VERSION=
50105

51106
######### Charon Config #########
52107

53-
# Charon docker container image version, e.g. `latest` or `v1.0.1`.
108+
# Charon docker container image version.
54109
# See available tags https://hub.docker.com/r/obolnetwork/charon/tags.
55110
#CHARON_VERSION=
56111

@@ -60,15 +115,19 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/
60115
# Connect to one or more external beacon nodes. Use a comma separated list excluding spaces.
61116
#CHARON_BEACON_NODE_ENDPOINTS=
62117

63-
# Increase the duration charon will wait for requests to the beacon node
118+
# Supply optional HTTP headers during beacon node requests. These headers are sent to all primary and fallback endpoints, be sure to rely on trusted BNs only.
119+
#CHARON_BEACON_NODE_HEADERS=
120+
121+
# Specify one or more fallback beacon node endpoints, which are called in the case that the primary beacon nodes are offline or unhealthy.
122+
# Use fallback beacon nodes sparingly, particularly if latency is high, which can impact DV cluster performance.
123+
#CHARON_FALLBACK_BEACON_NODE_ENDPOINTS=
124+
125+
# Increase the duration charon will wait for requests to the beacon node.
64126
#CHARON_BEACON_NODE_TIMEOUT=
65127

66-
# Increase the duration charon will wait while publishing data to the beacon node
128+
# Increase the duration charon will wait while publishing data to the beacon node.
67129
#CHARON_BEACON_NODE_SUBMIT_TIMEOUT=
68130

69-
# A list of beacon nodes to use if the primary list are offline or unhealthy.
70-
#CHARON_FALLBACK_BEACON_NODE_ENDPOINTS=
71-
72131
# The address of the execution engine JSON-RPC API.
73132
#CHARON_EXECUTION_CLIENT_RPC_ENDPOINT=
74133

@@ -84,44 +143,32 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/
84143
# Loki log aggregation server addresses. Disable loki log aggregation by setting an empty address.
85144
#CHARON_LOKI_ADDRESSES=
86145

87-
# Charon Cluster Name. Mandatory to send logs with Promtail
146+
# Charon Cluster Name. Mandatory to send logs with Promtail.
88147
#CLUSTER_NAME=
89148

90-
# Charon Cluster Peer. Mandatory to send logs with Promtail
149+
# Charon Cluster Peer. Mandatory to send logs with Promtail.
91150
#CLUSTER_PEER=
92151

93-
# Nickname to identify this charon node on monitoring (max 32 characters)
152+
# Nickname to identify this charon node on monitoring (max 32 characters).
94153
#CHARON_NICKNAME=
95154

96155
# Docker network of running charon node. See `docker network ls`.
97156
#CHARON_DOCKER_NETWORK=
98157

99-
# Charon host exposed ports
158+
# Charon host exposed ports.
100159
#CHARON_PORT_P2P_TCP=
101160

102-
######### MEV-Boost Config #########
103-
104-
# MEV-Boost docker container image version, e.g. `latest` or `1.7.0`.
105-
#MEVBOOST_VERSION=
106-
107-
# MEV-Boost docker container image name, e.g. flashbots/mev-boost.
108-
#MEVBOOST_IMAGE=
109-
110-
# Comma separated list of MEV-Boost relays.
111-
# You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
112-
#MEVBOOST_RELAYS=https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live,https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money,https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz
113-
114161
######### Monitoring Config #########
115162

116-
# Grafana docker container image version, e.g. `latest` or `10.4.2`.
163+
# Grafana docker container image version.
117164
# See available tags https://github.com/grafana/grafana/releases.
118165
#GRAFANA_VERSION=
119166

120-
# Grafana host exposed ip and port.
167+
# Grafana host exposed IP and port.
121168
#MONITORING_IP_GRAFANA=
122169
#MONITORING_PORT_GRAFANA=
123170

124-
# Prometheus docker container image version, e.g. `latest` or `v2.50.1`.
171+
# Prometheus docker container image version.
125172
# See available tags https://github.com/prometheus/prometheus/releases.
126173
#PROMETHEUS_VERSION=
127174

@@ -131,30 +178,37 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/
131178
# Prometheus service owner used to uniquely identify user from which metrics are pushed.
132179
#SERVICE_OWNER=charon_user
133180

181+
# Uncomment these if you have log exporting with Promtail
182+
# and want to disable log export on a particular container.
183+
#EL_NETHERMIND_PROMTAIL_MONITORED=false
184+
#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false
185+
#CL_GRANDINE_PROMTAIL_MONITORED=false
186+
#CHARON_PROMTAIL_MONITORED=false
187+
#VC_LODESTAR_PROMTAIL_MONITORED=false
188+
#VC_NIMBUS_PROMTAIL_MONITORED=false
189+
#VC_PRYSM_PROMTAIL_MONITORED=false
190+
#VC_TEKU_PROMTAIL_MONITORED=false
191+
#MEV_MEV_BOOST_PROMTAIL_MONITORED=false
192+
#MEV_COMMIT_BOOST_PROMTAIL_MONITORED=false
193+
#EJECTOR_PROMTAIL_MONITORED=false
194+
#DV_EXIT_PROMTAIL_MONITORED=false
195+
134196
######### Debug Config #########
135197

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

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

142-
# Grafana Tempo docker container image version, e.g. `latest` or `2.7.1`.
204+
# Grafana Tempo docker container image version.
143205
# Use Grafana Explore to access Tempo data.
144206
# See available tags https://hub.docker.com/r/grafana/tempo/tags.
145207
#TEMPO_VERSION=
146208

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

151-
# Uncomment these if you have log exporting with Promtail
152-
# and want to disable log export on a particular container.
153-
154-
# NETHERMIND_PROMTAIL_MONITORED=false
155-
# LIGHTHOUSE_PROMTAIL_MONITORED=false
156-
# CHARON_PROMTAIL_MONITORED=false
157-
# LODESTAR_PROMTAIL_MONITORED=false
158-
# MEV_BOOST_PROMTAIL_MONITORED=false
159-
# EJECTOR_PROMTAIL_MONITORED=false
160-
# DV_EXIT_PROMTAIL_MONITORED=false
213+
# Loki host exposed port.
214+
#MONITORING_PORT_LOKI=

0 commit comments

Comments
 (0)