Skip to content

Commit aede488

Browse files
authored
Add CL blob-archive type (#2654)
1 parent a57d99b commit aede488

10 files changed

Lines changed: 37 additions & 15 deletions

File tree

default.env

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,9 @@ W3S_HEAP=
256256
# If left empty, the default in lodestar.yml will be used
257257
LODESTAR_HEAP=
258258

259-
# CL_NODE_TYPE can be "archive", "full", "pruned" or "pruned-with-zkproofs"
260-
# "archive" may also keep all blobs, depending on client
259+
# CL_NODE_TYPE can be "archive", "blob-archive", "full" or "pruned"
261260
# Switching node type typically requires a resync
262-
# "pruned-with-zkproofs" is experimental and will not work with the standard client builds
261+
# Not all clients support a blob archive, and getting historical blobs is tricky until EraB exports are available
263262
# Grandine has an additional "aggressive-pruned" mode, which keeps minimal data
264263
# For a more granular way to handle it, please use CL_EXTRAS in combination with "full"
265264
CL_NODE_TYPE=pruned
@@ -570,4 +569,4 @@ DOCKER_ROOT=/var/lib/docker
570569
DOCKER_SOCK=/var/run/docker.sock
571570

572571
# Used by ethd update - please do not adjust
573-
ENV_VERSION=58
572+
ENV_VERSION=59

erigon/docker-entrypoint.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,16 @@ else
125125
__caplin+=" --caplin.mev-relay-url=${MEV_NODE}"
126126
echo "MEV Boost enabled"
127127
fi
128-
if [[ "${CL_NODE_TYPE}" = "archive" ]]; then
129-
echo "Running Caplin archive node"
130-
__caplin+=" --caplin.states-archive=true --caplin.blobs-archive=true --caplin.blobs-no-pruning=true --caplin.blocks-archive=true"
131-
fi
128+
case "${CL_NODE_TYPE}" in
129+
archive)
130+
echo "Caplin archive node without history pruning"
131+
__caplin+=" --caplin.states-archive=true --caplin.blocks-archive=true"
132+
;;
133+
blob-archive)
134+
echo "Caplin archive node without blob or history pruning"
135+
__caplin+=" --caplin.states-archive=true --caplin.blobs-archive=true --caplin.blobs-no-pruning=true --caplin.blocks-archive=true"
136+
;;
137+
esac
132138
if [[ -n "${CHECKPOINT_SYNC_URL}" ]]; then
133139
__caplin+=" --caplin.checkpoint-sync-url=${CHECKPOINT_SYNC_URL}/eth/v2/debug/beacon/states/finalized"
134140
echo "Checkpoint sync enabled"

ethd

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1980,6 +1980,11 @@ __migrate_env() {
19801980
if [[ "${var}" = "NODE_EXPORTER_COLLECTOR_MOUNT_PATH" && "${__value}" = "/dev/null" ]]; then
19811981
__value=""
19821982
fi
1983+
# Remove after Glamsterdam
1984+
if [[ "${__source_ver}" -lt "59" && "${var}" = "CL_NODE_TYPE" && "${__value}" = "archive"
1985+
&& ${COMPOSE_FILE} =~ (prysm\.yml|prysm-cl-only\.yml|lighthouse\.yml|lighthouse-cl-only\.yml|lodestar\.yml|lodestar-cl-only\.yml|caplin\.yml) ]]; then
1986+
__value="blob-archive"
1987+
fi
19831988

19841989
if [[ "${var}" = "CL_QUIC_PORT" ]]; then
19851990
__get_value_from_env "CL_P2P_PORT" "${__env_file}.source" "CL_P2P_PORT"

grandine/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ fi
7272

7373
case "${NODE_TYPE}" in
7474
archive)
75-
echo "Grandine archive node without pruning"
75+
echo "Grandine archive node without history pruning"
7676
__prune="--back-sync --archive-storage"
7777
;;
7878
pruned)

lighthouse/docker-entrypoint.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ __engine="--execution-endpoint ${EL_NODE} --execution-jwt /var/lib/lighthouse/be
6262

6363
case "${NODE_TYPE}" in
6464
archive)
65-
echo "Lighthouse archive node without pruning"
65+
echo "Lighthouse archive node without history pruning"
66+
__prune=""
67+
;;
68+
blob-archive)
69+
echo "Lighthouse blob archive node without blob or history pruning"
6670
__prune="--prune-blobs=false"
6771
;;
6872
full|pruned)

lodestar/docker-entrypoint.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ fi
7979

8080
case "${NODE_TYPE}" in
8181
archive)
82-
echo "Lodestar archive node without pruning"
82+
echo "Lodestar archive node without history pruning"
83+
__prune="--serveHistoricalState"
84+
;;
85+
blob-archive)
86+
echo "Lodestar archive node without blob or history pruning"
8387
__prune="--chain.archiveBlobEpochs Infinity --serveHistoricalState"
8488
;;
8589
full)

nethermind/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ if [[ "${COMPOSE_FILE}" =~ grandine-plugin(-allin1)?\.yml ]]; then
264264

265265
case "${CL_NODE_TYPE}" in
266266
archive)
267-
echo "Grandine archive node without pruning"
267+
echo "Grandine archive node without history pruning"
268268
__grandine+=" --grandine-back-sync --grandine-archive-storage"
269269
;;
270270
pruned)

nimbus/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ __log_level="--log-level=${LOG_LEVEL^^}"
135135

136136
case "${NODE_TYPE}" in
137137
archive)
138-
echo "Nimbus archive node without pruning"
138+
echo "Nimbus archive node without history pruning"
139139
__prune="--history=archive"
140140
;;
141141
full)

prysm/docker-entrypoint.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,11 @@ fi
8080

8181
case "${NODE_TYPE}" in
8282
archive)
83-
echo "Prysm archive node without pruning"
83+
echo "Prysm archive node without history pruning"
84+
__prune="--slots-per-archive-point=32"
85+
;;
86+
blob-archive)
87+
echo "Prysm blob archive node without blob or history pruning"
8488
__prune="--slots-per-archive-point=32 --blob-retention-epochs=4294967295"
8589
;;
8690
full)

teku/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ fi
156156

157157
case "${NODE_TYPE}" in
158158
archive)
159-
echo "Teku archive node without pruning"
159+
echo "Teku archive node without history pruning"
160160
__prune="--data-storage-mode=ARCHIVE"
161161
;;
162162
full)

0 commit comments

Comments
 (0)