Skip to content

Commit 587a180

Browse files
committed
Support zkProofs attestations with Lighthouse
1 parent d051358 commit 587a180

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

lighthouse-cl-only.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,6 @@ services:
7373
- ${CL_QUIC_PORT:-9001}
7474
- ${CL_MAX_PEER_COUNT:+--target-peers}
7575
- ${CL_MAX_PEER_COUNT:+${CL_MAX_PEER_COUNT}}
76-
- --execution-endpoint
77-
- ${EL_NODE}
78-
- --execution-jwt
79-
- /var/lib/lighthouse/beacon/ee-secret/jwtsecret
8076
- --debug-level=${LOG_LEVEL}
8177
- --metrics
8278
- --metrics-address

lighthouse.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ services:
4747
- BEACON_STATS_MACHINE=${BEACON_STATS_MACHINE}
4848
- CL_EXTRAS=${CL_EXTRAS:-}
4949
- NODE_TYPE=${CL_NODE_TYPE:-pruned}
50+
- EL_NODE=${EL_NODE}
5051
- IPV6=${IPV6:-false}
5152
- CL_P2P_PORT=${CL_P2P_PORT:-9000}
5253
- CL_QUIC_PORT=${CL_QUIC_PORT:-9001}
@@ -83,10 +84,6 @@ services:
8384
- ${CL_QUIC_PORT:-9001}
8485
- ${CL_MAX_PEER_COUNT:+--target-peers}
8586
- ${CL_MAX_PEER_COUNT:+${CL_MAX_PEER_COUNT}}
86-
- --execution-endpoint
87-
- ${EL_NODE}
88-
- --execution-jwt
89-
- /var/lib/lighthouse/beacon/ee-secret/jwtsecret
9087
- --debug-level=${LOG_LEVEL}
9188
- --metrics
9289
- --metrics-address

lighthouse/docker-entrypoint.sh

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ else
5656
__network="--network=${NETWORK}"
5757
fi
5858

59+
60+
# Assume we're not zk-enabled
61+
__engine="--execution-endpoint ${EL_NODE} --execution-jwt /var/lib/lighthouse/beacon/ee-secret/jwtsecret"
62+
5963
case "${NODE_TYPE}" in
6064
archive)
6165
echo "Lighthouse archive node without pruning"
@@ -64,6 +68,27 @@ case "${NODE_TYPE}" in
6468
full|pruned)
6569
__prune=""
6670
;;
71+
pruned-with-zkproofs)
72+
if [[ ! "${NETWORK}" = "mainnet" ]]; then
73+
echo "Lighthouse with zkProof verification only works on mainnet, as far as Eth Docker is aware."
74+
echo "Aborting."
75+
sleep 30
76+
exit 1
77+
fi
78+
echo "Lighthouse node with zkProof verification. HIGHLY experimental."
79+
echo "Please make sure that you have edited \".env\" and changed:"
80+
echo "CL_EXTRAS=--boot-nodes enr:-Oy4QJgMz9S1Eb7s13nKIbulKC0nvnt7AEqbmwxnTdwzptxNCGWjc9ipteUaCwqlu2bZDoNz361vGC_IY4fbdkR1K9iCDeuHYXR0bmV0c4gAAAAAAAAABoNjZ2MEhmNsaWVudNGKTGlnaHRob3VzZYU4LjAuMYRldGgykK1TLOsGAAAAAEcGAAAAAACCaWSCdjSCaXCEisV68INuZmSEzCxc24RxdWljgiMpiXNlY3AyNTZrMaEDEIWq41UTcFUgL8LRletpbIwrrpxznIMN_F5jRgatngmIc3luY25ldHMAg3RjcIIjKIR6a3ZtAQ"
81+
echo "LH_SRC_BUILD_TARGET=ethproofs/zkattester-demo"
82+
echo "LH_SRC_REPO=https://github.com/ethproofs/lighthouse"
83+
echo "LH_DOCKERFILE=Dockerfile.source"
84+
echo "MEV_BOOST=true"
85+
echo "MEV_BUILD_FACTOR=100"
86+
echo "And have source-built Lighthouse with \"./ethd update\""
87+
echo "A PBS sidecar needs to be in COMPOSE_FILE, and MEV relays need to be configured"
88+
echo "Note the bootnodes ENR may have changed, check on the zkEVM attesting Telegram group!"
89+
__prune=""
90+
__engine="--execution-proofs"
91+
;;
6792
*)
6893
echo "ERROR: The node type ${NODE_TYPE} is not known to Eth Docker's Lighthouse implementation."
6994
sleep 30
@@ -128,5 +153,5 @@ if [[ -f /var/lib/lighthouse/beacon/prune-marker ]]; then
128153
else
129154
# Word splitting is desired for the command line parameters
130155
# shellcheck disable=SC2086
131-
exec "$@" ${__network} ${__mev_boost} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__ipv6} ${CL_EXTRAS}
156+
exec "$@" ${__network} ${__mev_boost} ${__checkpoint_sync} ${__engine} ${__prune} ${__beacon_stats} ${__ipv6} ${CL_EXTRAS}
132157
fi

0 commit comments

Comments
 (0)