From a45cacc3ab2c5e2e7db7419105f146535d5078c9 Mon Sep 17 00:00:00 2001 From: Yorick Downe Date: Fri, 3 Jul 2026 09:56:29 +0100 Subject: [PATCH] Better VC options in entrypoint, including Graffiti --- grandine/docker-entrypoint.sh | 14 +++++++------- lighthouse/docker-entrypoint-vc.sh | 10 +++++----- lodestar/docker-entrypoint-vc.sh | 10 +++++----- nimbus/docker-entrypoint-vc.sh | 10 +++++----- nimbus/docker-entrypoint.sh | 26 +++++++++++++++----------- prysm/docker-entrypoint-vc.sh | 10 +++++----- teku/docker-entrypoint-vc.sh | 10 +++++----- teku/docker-entrypoint.sh | 21 ++++++++++++--------- vero/docker-entrypoint.sh | 10 +++++----- 9 files changed, 64 insertions(+), 57 deletions(-) diff --git a/grandine/docker-entrypoint.sh b/grandine/docker-entrypoint.sh index d8cd8e450..5dc25c0de 100755 --- a/grandine/docker-entrypoint.sh +++ b/grandine/docker-entrypoint.sh @@ -191,6 +191,12 @@ else __trace="" fi +if [[ "${EMBEDDED_VC}" = "true" && "${DEFAULT_GRAFFITI}" != "true" ]]; then + __graffiti_args=(--graffiti "${GRAFFITI}") +else + __graffiti_args=() +fi + __strip_empty_args "$@" set -- "${__args[@]}" @@ -211,12 +217,6 @@ while true; do fi done -if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__ipv6} ${__doppel} ${__trace} ${CL_EXTRAS} ${VC_EXTRAS} -else -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__ipv6} ${__doppel} --graffiti "${GRAFFITI}" ${__trace} ${CL_EXTRAS} ${VC_EXTRAS} -fi +exec "$@" ${__network} ${__w3s_url} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__ipv6} ${__doppel} ${__trace} ${CL_EXTRAS} ${VC_EXTRAS} diff --git a/lighthouse/docker-entrypoint-vc.sh b/lighthouse/docker-entrypoint-vc.sh index c15adcf86..ae9ea94ae 100755 --- a/lighthouse/docker-entrypoint-vc.sh +++ b/lighthouse/docker-entrypoint-vc.sh @@ -97,11 +97,11 @@ else fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__att_aggr} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--graffiti-append --graffiti "${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} --graffiti-append --graffiti "${GRAFFITI}" ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__att_aggr} ${VC_EXTRAS} -fi +exec "$@" ${__network} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__att_aggr} ${VC_EXTRAS} diff --git a/lodestar/docker-entrypoint-vc.sh b/lodestar/docker-entrypoint-vc.sh index 4596bd336..d58646bf9 100755 --- a/lodestar/docker-entrypoint-vc.sh +++ b/lodestar/docker-entrypoint-vc.sh @@ -107,11 +107,11 @@ else fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__w3s_url} ${__att_aggr} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--graffiti "${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} "--graffiti" "${GRAFFITI}" ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__w3s_url} ${__att_aggr} ${VC_EXTRAS} -fi +exec "$@" ${__network} ${__w3s_url} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__beacon_stats} ${__doppel} ${__att_aggr} ${VC_EXTRAS} diff --git a/nimbus/docker-entrypoint-vc.sh b/nimbus/docker-entrypoint-vc.sh index 08c732bd2..3ca4c4d28 100755 --- a/nimbus/docker-entrypoint-vc.sh +++ b/nimbus/docker-entrypoint-vc.sh @@ -92,11 +92,11 @@ else fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" "${__beacon_nodes[@]}" ${__w3s_url} ${__doppel} ${__mev_boost} ${__mev_factor} ${__att_aggr} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--graffiti="${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" "${__beacon_nodes[@]}" ${__w3s_url} "--graffiti=${GRAFFITI}" ${__doppel} ${__mev_boost} ${__mev_factor} ${__att_aggr} ${VC_EXTRAS} -fi +exec "$@" "${__beacon_nodes[@]}" ${__w3s_url} "${__graffiti_args[@]}" ${__doppel} ${__mev_boost} ${__mev_factor} ${__att_aggr} ${VC_EXTRAS} diff --git a/nimbus/docker-entrypoint.sh b/nimbus/docker-entrypoint.sh index d563300cc..0d5c53024 100755 --- a/nimbus/docker-entrypoint.sh +++ b/nimbus/docker-entrypoint.sh @@ -124,11 +124,15 @@ else fi # Check whether we should enable doppelganger protection -if [[ "${DOPPELGANGER}" = "true" ]]; then - __doppel="" - echo "Doppelganger protection enabled, VC will pause for 2 epochs" +if [[ "${EMBEDDED_VC}" = "true" ]]; then + if [[ "${DOPPELGANGER}" = "true" ]]; then + __doppel="" + echo "Doppelganger protection enabled, VC will pause for 2 epochs" + else + __doppel="--doppelganger-detection=false" + fi else - __doppel="--doppelganger-detection=false" + __doppel="" fi case "${NODE_TYPE}" in @@ -166,6 +170,12 @@ else __w3s_url="" fi +if [[ "${EMBEDDED_VC}" = "true" && "${DEFAULT_GRAFFITI}" != "true" ]]; then + __graffiti_args=(--graffiti="${GRAFFITI}") +else + __graffiti_args=() +fi + __strip_empty_args "$@" set -- "${__args[@]}" @@ -186,12 +196,6 @@ while true; do fi done -if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__doppel} ${__prune} ${CL_EXTRAS} ${VC_EXTRAS} -else -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} "--graffiti=${GRAFFITI}" ${__mev_boost} ${__mev_factor} ${__doppel} ${__prune} ${CL_EXTRAS} ${VC_EXTRAS} -fi +exec "$@" ${__network} ${__w3s_url} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__doppel} ${__prune} ${CL_EXTRAS} ${VC_EXTRAS} diff --git a/prysm/docker-entrypoint-vc.sh b/prysm/docker-entrypoint-vc.sh index 74b239f58..94eb267ae 100755 --- a/prysm/docker-entrypoint-vc.sh +++ b/prysm/docker-entrypoint-vc.sh @@ -66,11 +66,11 @@ else fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__doppel} ${__att_aggr} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--graffiti "${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} "--graffiti" "${GRAFFITI}" ${__w3s_url} ${__mev_boost} ${__doppel} ${__att_aggr} ${VC_EXTRAS} -fi +exec "$@" ${__network} ${__w3s_url} "${__graffiti_args[@]}" ${__mev_boost} ${__doppel} ${__att_aggr} ${VC_EXTRAS} diff --git a/teku/docker-entrypoint-vc.sh b/teku/docker-entrypoint-vc.sh index 008e74a5f..5d64d4d61 100755 --- a/teku/docker-entrypoint-vc.sh +++ b/teku/docker-entrypoint-vc.sh @@ -122,11 +122,11 @@ else fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__doppel} ${__att_aggr} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--validators-graffiti="${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} "--validators-graffiti=${GRAFFITI}" ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__doppel} ${__att_aggr} ${VC_EXTRAS} -fi +exec "$@" ${__network} "${__graffiti_args[@]}" ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__doppel} ${__att_aggr} ${VC_EXTRAS} diff --git a/teku/docker-entrypoint.sh b/teku/docker-entrypoint.sh index 4774c110a..51e614e23 100755 --- a/teku/docker-entrypoint.sh +++ b/teku/docker-entrypoint.sh @@ -107,7 +107,10 @@ fi if [[ "${MEV_BOOST}" = "true" ]]; then __mev_boost="--builder-endpoint=${MEV_NODE:-http://mev-boost:18550}" echo "MEV Boost enabled" - __mev_boost+=" --validators-builder-registration-default-enabled" + if [[ "${EMBEDDED_VC}" = "true" ]]; then + __mev_boost+=" --validators-builder-registration-default-enabled" + fi + # Teku has the build factor on the CL, which is unusual build_factor="$(__normalize_int "${MEV_BUILD_FACTOR}")" case "${build_factor}" in 0) @@ -147,7 +150,7 @@ else fi # Check whether we should enable doppelganger protection -if [[ "${DOPPELGANGER}" = "true" ]]; then +if [[ "${EMBEDDED_VC}" = "true" && "${DOPPELGANGER}" = "true" ]]; then __doppel="--doppelganger-detection-enabled=true" echo "Doppelganger protection enabled, VC will pause for 2 epochs" else @@ -196,6 +199,12 @@ else __ipv6="" fi +if [[ "${EMBEDDED_VC}" = "true" && "${DEFAULT_GRAFFITI}" != "true" ]]; then + __graffiti_args=(--validators-graffiti="${GRAFFITI}") +else + __graffiti_args=() +fi + __strip_empty_args "$@" set -- "${__args[@]}" @@ -216,12 +225,6 @@ while true; do fi done -if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__doppel} ${__ipv6} ${CL_EXTRAS} ${VC_EXTRAS} -else -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} "--validators-graffiti=${GRAFFITI}" ${__w3s_url} ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__doppel} ${__ipv6} ${CL_EXTRAS} ${VC_EXTRAS} -fi +exec "$@" ${__network} ${__w3s_url} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__checkpoint_sync} ${__prune} ${__beacon_stats} ${__doppel} ${__ipv6} ${CL_EXTRAS} ${VC_EXTRAS} diff --git a/vero/docker-entrypoint.sh b/vero/docker-entrypoint.sh index 4613e8bd2..e5540aec1 100755 --- a/vero/docker-entrypoint.sh +++ b/vero/docker-entrypoint.sh @@ -114,11 +114,11 @@ if [[ "${COMPOSE_FILE}" =~ (grafana\.yml|grafana-rootless\.yml) ]]; then fi if [[ "${DEFAULT_GRAFFITI}" = "true" ]]; then -# Word splitting is desired for the command line parameters -# shellcheck disable=SC2086 - exec "$@" ${__network} ${__mev_boost} ${__mev_factor} ${__log_level} ${__doppel} ${VC_EXTRAS} + __graffiti_args=() else + __graffiti_args=(--graffiti "${GRAFFITI}") +fi + # Word splitting is desired for the command line parameters # shellcheck disable=SC2086 - exec "$@" ${__network} "--graffiti" "${GRAFFITI}" ${__mev_boost} ${__mev_factor} ${__log_level} ${__doppel} ${VC_EXTRAS} -fi +exec "$@" ${__network} "${__graffiti_args[@]}" ${__mev_boost} ${__mev_factor} ${__log_level} ${__doppel} ${VC_EXTRAS}