forked from ObolNetwork/charon-distributed-validator-node
-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy path.env.sample.mainnet
More file actions
325 lines (238 loc) · 14.2 KB
/
.env.sample.mainnet
File metadata and controls
325 lines (238 loc) · 14.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# This is a sample environment file that allows overriding default configuration defined
# 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=mainnet
# Execution layer client to be used in a DV setup. Uncomment only the desired client. Uncomment only EL=el-none if no EL client is desired (i.e.: if using an external EL with your external CL).
EL=el-nethermind
#EL=el-reth
#EL=el-none
# Consensus layer client to be used in a DV setup. Uncomment only the desired client. Uncomment only CL=cl-none if no CL client is desired (i.e.: if using an external CL by setting `CHARON_BEACON_NODE_ENDPOINTS` to point charon to it).
CL=cl-lighthouse
#CL=cl-grandine
#CL=cl-teku
#CL=cl-lodestar
#CL=cl-prysm
#CL=cl-none
# Validator client to be used in a DV setup. Uncomment only the desired client.
VC=vc-lodestar
#VC=vc-nimbus
#VC=vc-prysm
#VC=vc-teku
# MEV client to be used in a DV setup. Uncomment only the desired client. Uncomment only MEV=mev-none if no MEV client is desired.
# To use commit-boost, copy the `./commit-boost/config.toml.sample.mainnet` file to `./commit-boost/config.toml` before making the env change here.
MEV=mev-mevboost
#MEV=mev-commitboost
#MEV=mev-none
# Monitoring tools for DV. Uncomment as many tools as you'd like to be included. Uncomment only MONITORING=monitoring-none if none are desired.
# Uncomment MONITORING=${MONITORING:-monitoring},monitoring-log-collector to enable log exporting to Obol's central monitoring. Requires $CHARON_LOKI_ADDRESSES to be set with an Obol supplied URL.
MONITORING=${MONITORING:-monitoring},monitoring-metrics
MONITORING=${MONITORING:-monitoring},monitoring-visualization
MONITORING=${MONITORING:-monitoring},monitoring-log-aggregator
#MONITORING=${MONITORING:-monitoring},monitoring-log-collector
#MONITORING=monitoring-none
# Do not edit. These profiles and files dictate to Docker which client types and from where to start for execution, consensus, validator and MEV.
# The actual adjustable values are specified above.
COMPOSE_PROFILES=${EL},${CL},${VC},${MEV},${MONITORING}
COMPOSE_FILE=compose-el.yml:compose-cl.yml:compose-vc.yml:compose-mev.yml:compose-monitoring.yml:docker-compose.yml
# Enables Builder API.
#BUILDER_API_ENABLED=
# Boolean to enable or disable locking of the charon private key file.
# Read more about it here: https://docs.obol.org/advanced-and-troubleshooting/troubleshooting/errors?q=%22private-key-file-lock%22#existing-private-key-lock-file-found-another-charon-instance-may-be-running-on-your-machine
# CHARON_PRIVATE_KEY_FILE_LOCK=
######### Execution Layer Config #########
# EL host exposed IPs and ports.
#EL_PORT_P2P=
#EL_IP_HTTP=
#EL_PORT_HTTP=
#EL_IP_ENGINE=
#EL_PORT_ENGINE=
# Nethermind docker container image version.
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
#NETHERMIND_VERSION=
# Reth docker container image version.
# See available tags https://github.com/paradigmxyz/reth/pkgs/container/reth
#RETH_VERSION=
######### Consensus Layer Config #########
# CL beacon node host exposed ports.
#CL_PORT_P2P=
# Target amount of maximum peers the CL connects to.
#CL_TARGET_PEERS=
# Lighthouse becon node checkpoint sync URL used by consensus layer to fast sync.
LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/
# In certain cases, beacon nodes produce blocks with unexpected fee recipients. Setting the Lido execution
# layer rewards vault as the suggested fee recipient reduces this risk.
LIDO_EXECUTION_LAYER_REWARDS_ADDRESS=0x388C818CA8B9251b393131C08a736A67ccB19297
# Lighthouse beacon node docker container image version.
# See available tags https://hub.docker.com/r/sigp/lighthouse/tags.
#CL_LIGHTHOUSE_VERSION=
# Grandine beacon node docker container image version.
# See available tags https://hub.docker.com/r/sifrai/grandine/tags.
#CL_GRANDINE_VERSION=
# Teku beacon node docker container image version.
# See available tags https://hub.docker.com/r/consensys/teku/tags
#CL_TEKU_VERSION=
# Lodestar beacon node docker container image version.
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
#CL_LODESTAR_VERSION=
# Prysm beacon node docker container image version.
# See available tags https://hub.docker.com/r/prysmaticlabs/prysm-beacon-chain/tags
#CL_PRYSM_VERSION=
######### Validator Client Config #########
# Override prometheus metrics port for validator client.
#VC_PORT_METRICS=
# Lodestar validator client docker container image version.
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
#VC_LODESTAR_VERSION=
#VC_LODESTAR_BUILDER_SELECTION=
# Nimbus validator client docker container image version.
# See available tags https://hub.docker.com/r/statusim/nimbus-validator-client/tags
#VC_NIMBUS_VERSION=
# Prysm validator client docker container image version.
# See available tags https://hub.docker.com/r/offchainlabs/prysm-validator/tags
#VC_PRYSM_VERSION=
# Teku validator client docker container image version.
# See available tags https://hub.docker.com/r/consensys/teku/tags
#VC_TEKU_VERSION=
######### MEV Config #########
# MEV timeouts.
# N.B.: Commit-boost uses TOML configuration instead of env variables. Configure those at commit-boost/.
#MEV_TIMEOUT_GETHEADER=
#MEV_TIMEOUT_GETPAYLOAD=
#MEV_TIMEOUT_REGVAL=
# Comma separated list of MEV relays. You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
# N.B.: Commit-boost uses TOML configuration instead of env variables. Configure those at commit-boost/.
MEV_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net,https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com,https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com,https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@global.titanrelay.xyz
# DEPRECATED: Use MEV_RELAYS instead.
#MEVBOOST_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net,https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com,https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com,https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@global.titanrelay.xyz
# MEV-Boost docker container image version.
#MEV_MEVBOOST_VERSION=
# Commit-Boost docker container image version.
#MEV_COMMITBOOST_VERSION=
######### Charon Config #########
# Charon docker container image version.
# See available tags https://hub.docker.com/r/obolnetwork/charon/tags.
#CHARON_VERSION=
# Define custom relays. One or more ENRs or an http URL that return an ENR. Use a comma separated list excluding spaces.
CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/,https://charon-relay.dsrvlabs.dev/,https://relay-2.prod-relay.721.land/
# Connect to one or more external beacon nodes. Use a comma separated list excluding spaces.
CHARON_BEACON_NODE_ENDPOINTS=http://${CL}:5052
# 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.
#CHARON_BEACON_NODE_HEADERS=
# Specify one or more fallback beacon node endpoints, which are called in the case that the primary beacon node endpoints fail.
# Use fallback beacon nodes sparingly, particularly if latency is high, which can impact DV cluster performance.
#CHARON_FALLBACK_BEACON_NODE_ENDPOINTS=
# Increase the duration charon will wait for requests to the beacon node.
#CHARON_BEACON_NODE_TIMEOUT=
# Increase the duration charon will wait while publishing data to the beacon node.
#CHARON_BEACON_NODE_SUBMIT_TIMEOUT=
# The address of the execution engine JSON-RPC API.
CHARON_EXECUTION_CLIENT_RPC_ENDPOINT=http://${EL}:8545
# Enable opt-in charon features
#CHARON_FEATURE_SET_ENABLE=
# Override the charon logging level; debug, info, warning, error.
#CHARON_LOG_LEVEL=
# Override the charon logging format; console, logfmt, json. Grafana panels require logfmt.
#CHARON_LOG_FORMAT=
# Advertise a custom external DNS hostname or IP address for libp2p peer discovery.
#CHARON_P2P_EXTERNAL_HOSTNAME=
# Loki log aggregation server addresses. Disable loki log aggregation by setting an empty address.
#CHARON_LOKI_ADDRESSES=
# Charon Cluster Name. Mandatory to send logs with Alloy and metrics with Prometheus.
#CLUSTER_NAME=""
# Charon Cluster Peer. Mandatory to send logs with Alloy and metrics with Prometheus.
#CLUSTER_PEER=""
# Nickname to identify this charon node on monitoring (max 32 characters).
#CHARON_NICKNAME=""
# Docker network of running charon node. See `docker network ls`.
#CHARON_DOCKER_NETWORK=
# Charon host exposed ports.
#CHARON_PORT_P2P_TCP=
######### Lido validator-ejector Config #########
# validator-ejector container image version`
#VALIDATOR_EJECTOR_VERSION=
# Disable oracle transaction verification, don't toggle unless explicitly told to do so.
#DISABLE_EJECTOR_SECURITY=
# Lido locator address.
VE_LOCATOR_ADDRESS=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb
# validator-ejector oracles list.
VE_ORACLE_ADDRESSES_ALLOWLIST=["0x73181107c8D9ED4ce0bbeF7A0b4ccf3320C41d12","0x4118DAD7f348A4063bD15786c299De2f3B1333F3","0x404335BcE530400a5814375E7Ec1FB55fAff3eA2","0x946D3b081ed19173dC83Cd974fC69e1e760B7d78","0x007DE4a5F7bc37E2F26c0cb2E8A95006EE9B89b5","0xc79F702202E3A6B0B6310B537E786B9ACAA19BAf","0x61c91ECd902EB56e314bB2D5c5C07785444Ea1c8","0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9","0x285f8537e1dAeEdaf617e96C742F2Cf36d63CcfB"]
# Easy track contract addresses.
VE_EASY_TRACK_ADDRESS=0xF0211b7660680B49De1A7E9f25C65660F0a13Fea
# Easy track motion creator addresses, set to the Simple DVT Module Committee multisig.
VE_EASY_TRACK_MOTION_CREATOR_ADDRESSES_ALLOWLIST=["0x08637515E85A4633E23dfc7861e2A9f53af640f7"]
# Lido staking module ID.
VE_STAKING_MODULE_ID=2
# Lido operator ID.
#VE_OPERATOR_ID=
# Beacon node URL.
VE_BEACON_NODE_URL=http://${CL}:5052
# Execution node URL.
VE_EXECUTION_NODE_URL=http://${EL}:8545
######### Lido lido-dv-exit Config #########
# lido-dv-exit container image version.
#LIDO_DV_EXIT_VERSION=
# lido-dv-exit beacon node endpoint.
LIDO_DV_EXIT_BEACON_NODE_URL=http://${CL}:5052
# Override the lido-dv-exit logging level; debug, info, warning, error.
#LIDO_DV_EXIT_LOG_LEVEL=
# Sets the amount of validator to query with each call to the beacon node.
# Decrease in case of frequent beacon node query timeout errors for lido-dv-exit.
# Defaults to 5.
#LIDO_DV_EXIT_VALIDATOR_QUERY_CHUNK_SIZE=
# lido-dv-exit exit epoch.
LIDODVEXIT_EXIT_EPOCH=194048
######### Monitoring Config #########
# Grafana docker container image version.
# See available tags https://github.com/grafana/grafana/releases.
#GRAFANA_VERSION=
# Grafana host exposed IP and port.
#MONITORING_IP_GRAFANA=
#MONITORING_PORT_GRAFANA=
# Prometheus docker container image version.
# See available tags https://github.com/prometheus/prometheus/releases.
#PROMETHEUS_VERSION=
# Prometheus remote write token used for sending metrics to an external prometheus. Put the token between the quotation marks to ensure the token is read as a string correctly.
#PROM_REMOTE_WRITE_TOKEN=""
# Prometheus service owner used to uniquely identify user from which metrics are pushed.
#SERVICE_OWNER=charon_user
# To get Alerted with Obol Agent monitoring on Discord, specify your Discord ID(s) below.
# Enable developer mode on discord with User Settings > Advanced.
# Then right click on a user's profile picture or name and select Copy ID to get a unique 18-digit number that represents their account.
# Specify multiple discord IDs using comma separation. (e.g. `ALERT_DISCORD_IDS=123456789098765432,098765432123456789`)
#ALERT_DISCORD_IDS=""
# Uncomment these if you have log exporting with Alloy
# and want to disable log export on a particular container.
#EL_NETHERMIND_ALLOY_MONITORED=false
#EL_RETH_ALLOY_MONITORED=false
#CL_LIGHTHOUSE_ALLOY_MONITORED=false
#CL_GRANDINE_ALLOY_MONITORED=false
#CL_TEKU_ALLOY_MONITORED=false
#CL_LODESTAR_ALLOY_MONITORED=false
#CL_PRYSM_ALLOY_MONITORED=false
#CHARON_ALLOY_MONITORED=false
#VC_LODESTAR_ALLOY_MONITORED=false
#VC_NIMBUS_ALLOY_MONITORED=false
#VC_PRYSM_ALLOY_MONITORED=false
#VC_TEKU_ALLOY_MONITORED=false
#MEV_MEV_BOOST_ALLOY_MONITORED=false
#MEV_COMMIT_BOOST_ALLOY_MONITORED=false
#EJECTOR_ALLOY_MONITORED=false
#DV_EXIT_ALLOY_MONITORED=false
######### Debug Config #########
# This applies to compose-debug.yml only.
# Prometheus Node exporter docker container image version.
# See available tags https://hub.docker.com/r/bitnamilegacy/node-exporter/tags.
#NODE_EXPORTER_VERSION=
# Grafana Tempo docker container image version.
# Use Grafana Explore to access Tempo data.
# See available tags https://hub.docker.com/r/grafana/tempo/tags.
#TEMPO_VERSION=
# Grafana Loki docker container image version.
# See available tags https://hub.docker.com/r/grafana/loki/tags.
#LOKI_VERSION=
# Loki host exposed port.
#MONITORING_PORT_LOKI=
# OTLP Server address & Auth Token for exporting traces to Obol's Tempo server.
# To be provided by Obol support.
# CHARON_OTLP_ADDRESS=tempo.monitoring.gcp.obol.tech:443
# CHARON_OTLP_HEADERS=Authorization=Basic <insert your token here>