Skip to content

Commit 15a551c

Browse files
authored
add reth EL and teku/lodestar CL (#353)
1 parent 5cdcd1a commit 15a551c

File tree

6 files changed

+152
-3
lines changed

6 files changed

+152
-3
lines changed

.env.sample.holesky

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ NETWORK=holesky
66

77
# Execution layer client to be used in a DV setup. Uncomment only the desired client.
88
EL=el-nethermind
9+
#EL=el-reth
910

1011
# Consensus layer client to be used in a DV setup. Uncomment only the desired client.
1112
CL=cl-lighthouse
1213
#CL=cl-grandine
14+
#CL=cl-teku
15+
#CL=cl-lodestar
1316

1417
# Validator client to be used in a DV setup. Uncomment only the desired client.
1518
VC=vc-lodestar
@@ -42,6 +45,10 @@ COMPOSE_FILE=compose-el.yml:compose-cl.yml:compose-vc.yml:compose-mev.yml:docker
4245
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
4346
#NETHERMIND_VERSION=
4447

48+
# Reth docker container image version.
49+
# See available tags https://github.com/paradigmxyz/reth/pkgs/container/reth
50+
#RETH_VERSION=
51+
4552
# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
4653
#NETHERMIND_ANCIENT_BODIES_BARRIER=
4754
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=
@@ -62,6 +69,14 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/
6269
# See available tags https://hub.docker.com/r/sifrai/grandine/tags.
6370
#CL_GRANDINE_VERSION=
6471

72+
# Teku beacon node docker container image version.
73+
# See available tags https://hub.docker.com/r/consensys/teku/tags
74+
#CL_TEKU_VERSION=
75+
76+
# Lodestar beacon node docker container image version.
77+
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
78+
#CL_LODESTAR_VERSION=
79+
6580
######### Validator Client Config #########
6681

6782
# Override prometheus metrics port for validator client.
@@ -181,8 +196,11 @@ MEV_RELAYS=https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7
181196
# Uncomment these if you have log exporting with Promtail
182197
# and want to disable log export on a particular container.
183198
#EL_NETHERMIND_PROMTAIL_MONITORED=false
199+
#EL_RETH_PROMTAIL_MONITORED=false
184200
#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false
185201
#CL_GRANDINE_PROMTAIL_MONITORED=false
202+
#CL_TEKU_PROMTAIL_MONITORED=false
203+
#CL_LODESTAR_PROMTAIL_MONITORED=false
186204
#CHARON_PROMTAIL_MONITORED=false
187205
#VC_LODESTAR_PROMTAIL_MONITORED=false
188206
#VC_NIMBUS_PROMTAIL_MONITORED=false

.env.sample.hoodi

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ NETWORK=hoodi
66

77
# Execution layer client to be used in a DV setup. Uncomment only the desired client.
88
EL=el-nethermind
9+
#EL=el-reth
910

1011
# Consensus layer client to be used in a DV setup. Uncomment only the desired client.
1112
CL=cl-lighthouse
1213
#CL=cl-grandine
14+
#CL=cl-teku
15+
#CL=cl-lodestar
1316

1417
# Validator client to be used in a DV setup. Uncomment only the desired client.
1518
VC=vc-lodestar
@@ -42,6 +45,10 @@ COMPOSE_FILE=compose-el.yml:compose-cl.yml:compose-vc.yml:compose-mev.yml:docker
4245
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
4346
#NETHERMIND_VERSION=
4447

48+
# Reth docker container image version.
49+
# See available tags https://github.com/paradigmxyz/reth/pkgs/container/reth
50+
#RETH_VERSION=
51+
4552
# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
4653
#NETHERMIND_ANCIENT_BODIES_BARRIER=
4754
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=
@@ -62,6 +69,14 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.hoodi.ethpandaops.io/
6269
# See available tags https://hub.docker.com/r/sifrai/grandine/tags.
6370
#CL_GRANDINE_VERSION=
6471

72+
# Teku beacon node docker container image version.
73+
# See available tags https://hub.docker.com/r/consensys/teku/tags
74+
#CL_TEKU_VERSION=
75+
76+
# Lodestar beacon node docker container image version.
77+
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
78+
#CL_LODESTAR_VERSION=
79+
6580
######### Validator Client Config #########
6681

6782
# Override prometheus metrics port for validator client.
@@ -181,8 +196,11 @@ MEV_RELAYS=https://0x98f0ef62f00780cf8eb06701a7d22725b9437d4768bb19b363e882ae871
181196
# Uncomment these if you have log exporting with Promtail
182197
# and want to disable log export on a particular container.
183198
#EL_NETHERMIND_PROMTAIL_MONITORED=false
199+
#EL_RETH_PROMTAIL_MONITORED=false
184200
#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false
185201
#CL_GRANDINE_PROMTAIL_MONITORED=false
202+
#CL_TEKU_PROMTAIL_MONITORED=false
203+
#CL_LODESTAR_PROMTAIL_MONITORED=false
186204
#CHARON_PROMTAIL_MONITORED=false
187205
#VC_LODESTAR_PROMTAIL_MONITORED=false
188206
#VC_NIMBUS_PROMTAIL_MONITORED=false

.env.sample.mainnet

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ NETWORK=mainnet
66

77
# Execution layer client to be used in a DV setup. Uncomment only the desired client.
88
EL=el-nethermind
9+
#EL=el-reth
910

1011
# Consensus layer client to be used in a DV setup. Uncomment only the desired client.
1112
CL=cl-lighthouse
1213
#CL=cl-grandine
14+
#CL=cl-teku
15+
#CL=cl-lodestar
1316

1417
# Validator client to be used in a DV setup. Uncomment only the desired client.
1518
VC=vc-lodestar
@@ -42,6 +45,10 @@ COMPOSE_FILE=compose-el.yml:compose-cl.yml:compose-vc.yml:compose-mev.yml:docker
4245
# See available tags https://hub.docker.com/r/nethermind/nethermind/tags
4346
#NETHERMIND_VERSION=
4447

48+
# Reth docker container image version.
49+
# See available tags https://github.com/paradigmxyz/reth/pkgs/container/reth
50+
#RETH_VERSION=
51+
4552
# Nethermind ancient barrier allows you to specify how many old block bodies and receipts you want to store.
4653
#NETHERMIND_ANCIENT_BODIES_BARRIER=
4754
#NETHERMIND_ANCIENT_RECEIPTS_BARRIER=
@@ -62,6 +69,14 @@ LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/
6269
# See available tags https://hub.docker.com/r/sifrai/grandine/tags.
6370
#CL_GRANDINE_VERSION=
6471

72+
# Teku beacon node docker container image version.
73+
# See available tags https://hub.docker.com/r/consensys/teku/tags
74+
#CL_TEKU_VERSION=
75+
76+
# Lodestar beacon node docker container image version.
77+
# See available tags https://hub.docker.com/r/chainsafe/lodestar/tags
78+
#CL_LODESTAR_VERSION=
79+
6580
######### Validator Client Config #########
6681

6782
# Override prometheus metrics port for validator client.
@@ -181,8 +196,11 @@ MEV_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b
181196
# Uncomment these if you have log exporting with Promtail
182197
# and want to disable log export on a particular container.
183198
#EL_NETHERMIND_PROMTAIL_MONITORED=false
199+
#EL_RETH_PROMTAIL_MONITORED=false
184200
#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false
185201
#CL_GRANDINE_PROMTAIL_MONITORED=false
202+
#CL_TEKU_PROMTAIL_MONITORED=false
203+
#CL_LODESTAR_PROMTAIL_MONITORED=false
186204
#CHARON_PROMTAIL_MONITORED=false
187205
#VC_LODESTAR_PROMTAIL_MONITORED=false
188206
#VC_NIMBUS_PROMTAIL_MONITORED=false

compose-cl.yml

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,73 @@ services:
6565
--metrics-address=0.0.0.0
6666
--metrics-port=5054
6767
--metrics-allow-origin="*"
68-
--suggested-fee-recipient=${LIDO_EXECUTION_LAYER_REWARDS_ADDRESS:-0x388C818CA8B9251b393131C08a736A67ccB19297}
6968
ports:
7069
- ${CL_PORT_P2P:-9000}:9000 # P2P TCP+UDP
7170
volumes:
7271
- ./data/lighthouse:/opt/app/beacon # Keep data in lighthouse and not cl-lighthouse for backwards compatibility
7372
- ./jwt:/opt/jwt
7473
networks: [dvnode]
74+
75+
# _ _
76+
# | |_ ___| | ___ _
77+
# | __/ _ \ |/ / | | |
78+
# | || __/ <| |_| |
79+
# \__\___|_|\_\\__,_|
80+
81+
cl-teku:
82+
profiles: [cl-teku]
83+
image: consensys/teku:${VC_VERSION:-25.7.1}
84+
restart: unless-stopped
85+
labels:
86+
- "promtail-monitored=${CL_TEKU_PROMTAIL_MONITORED:-true}"
87+
command: |
88+
--network=${NETWORK}
89+
--checkpoint-sync-url=${LIGHTHOUSE_CHECKPOINT_SYNC_URL}
90+
--ee-endpoint=http://${EL}:8551
91+
--ee-jwt-secret-file=/jwt/jwt.hex
92+
--data-base-path=/opt/teku/data
93+
--builder-endpoint=http://${MEV}:18550
94+
--rest-api-enabled=true
95+
--rest-api-interface=0.0.0.0
96+
--rest-api-port=5052
97+
--rest-api-host-allowlist="*"
98+
--metrics-enabled=true
99+
--metrics-interface=0.0.0.0
100+
--metrics-port=5054
101+
--metrics-host-allowlist="*"
102+
volumes:
103+
- ./data/cl-teku:/opt/teku/data
104+
- ./jwt:/jwt:ro
105+
networks: [dvnode]
106+
107+
# _ _ _
108+
# | | ___ __| | ___ ___| |_ __ _ _ __
109+
# | |/ _ \ / _` |/ _ \/ __| __/ _` | '__|
110+
# | | (_) | (_| | __/\__ \ || (_| | |
111+
# |_|\___/ \__,_|\___||___/\__\__,_|_|
112+
113+
cl-lodestar:
114+
profiles: [cl-lodestar]
115+
image: chainsafe/lodestar:${VC_VERSION:-v1.33.0}
116+
restart: unless-stopped
117+
labels:
118+
- "promtail-monitored=${CL_LODESTAR_PROMTAIL_MONITORED:-true}"
119+
command: |
120+
beacon
121+
--network=${NETWORK}
122+
--checkpointSyncUrl=${LIGHTHOUSE_CHECKPOINT_SYNC_URL}
123+
--execution.urls=http://${EL}:8551
124+
--jwt-secret=/jwt/jwt.hex
125+
--dataDir=/opt/lodestar/data
126+
--builder
127+
--builder.url=http://${MEV}:18550
128+
--rest
129+
--rest.address=0.0.0.0
130+
--rest.port=5052
131+
--metrics
132+
--metrics.address=0.0.0.0
133+
--metrics.port=5054
134+
volumes:
135+
- ./data/cl-lodestar:/opt/lodestar/data
136+
- ./jwt:/jwt:ro
137+
networks: [dvnode]

compose-el.yml

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ services:
2222
- "promtail-monitored=${EL_NETHERMIND_PROMTAIL_MONITORED:-true}"
2323
command: |
2424
--config=${NETWORK}
25-
--datadir=data
25+
--data-dir=/nethermind/data
2626
--HealthChecks.Enabled=true
2727
--JsonRpc.Enabled=true
2828
--JsonRpc.JwtSecretFile="/root/jwt/jwt.hex"
@@ -39,3 +39,36 @@ services:
3939
volumes:
4040
- ./data/nethermind:/nethermind/data
4141
- ./jwt:/root/jwt
42+
43+
# _ _
44+
# _ __ ___| |_| |__
45+
# | '__/ _ \ __| '_ \
46+
# | | | __/ |_| | | |
47+
# |_| \___|\__|_| |_|
48+
49+
el-reth:
50+
profiles: [el-reth]
51+
image: ghcr.io/paradigmxyz/reth:${EL_RETH_VERSION:-v1.6.0}
52+
restart: unless-stopped
53+
ports:
54+
- ${EL_PORT_P2P:-30303}:30303/tcp # P2P TCP
55+
- ${EL_PORT_P2P:-30303}:30303/udp # P2P UDP
56+
- ${EL_IP_HTTP:-127.0.0.1}:${EL_PORT_HTTP:-8545}:8545 # JSON-RPC
57+
- ${EL_IP_ENGINE:-127.0.0.1}:${EL_PORT_ENGINE:-8551}:8551 # ENGINE-API
58+
labels:
59+
- "promtail-monitored=${EL_RETH_PROMTAIL_MONITORED:-true}"
60+
command: |
61+
node
62+
--chain=${NETWORK}
63+
--datadir=/reth/data
64+
--authrpc.jwtsecret="/root/jwt/jwt.hex"
65+
--authrpc.addr=0.0.0.0
66+
--authrpc.port=8551
67+
--http
68+
--http.addr=0.0.0.0
69+
--http.port=8545
70+
--metrics=0.0.0.0:8008
71+
networks: [dvnode]
72+
volumes:
73+
- ./data/reth:/reth/data
74+
- ./jwt:/root/jwt

docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ services:
7272
--metrics-address=0.0.0.0
7373
--metrics-port=5054
7474
--metrics-allow-origin="*"
75-
--state-cache-size=128
7675
networks: [dvnode]
7776
volumes:
7877
- ./data/lighthouse:/opt/app/beacon

0 commit comments

Comments
 (0)