From 19f35f780566e9f40d375827d6045c64f23bc420 Mon Sep 17 00:00:00 2001 From: kalo <24719519+KaloyanTanev@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:09:24 +0200 Subject: [PATCH] Make Prysm VC combo 2-2 Prysm-Lodestar --- compose.charon.yaml | 12 ++++++++++++ compose.prysm.yaml | 35 +++++++++++++++++++++++++++++++---- deployments/env/charon.env | 2 +- deployments/env/cl_prysm.env | 4 ++-- deployments/env/vc_prysm.env | 4 ++-- prometheus/prometheus.yml | 11 ++++++++++- setup_charon.sh | 2 +- 7 files changed, 59 insertions(+), 11 deletions(-) diff --git a/compose.charon.yaml b/compose.charon.yaml index bb77bc7..c3d8829 100644 --- a/compose.charon.yaml +++ b/compose.charon.yaml @@ -62,6 +62,18 @@ services: CHARON_P2P_EXTERNAL_HOSTNAME: node2 CHARON_BEACON_NODE_ENDPOINTS: ${BN_2} + node3: + <<: *node-base + container_name: node3 + #depends_on: [ relay ] + environment: + <<: *node-env + CHARON_PRIVATE_KEY_FILE: /opt/charon/.charon/cluster/node3/charon-enr-private-key + CHARON_LOCK_FILE: /opt/charon/.charon/cluster/node3/cluster-lock.json + CHARON_JAEGER_SERVICE: node3 + CHARON_P2P_EXTERNAL_HOSTNAME: node3 + CHARON_BEACON_NODE_ENDPOINTS: ${BN_2} + # _ # | | # _ __ ___| | __ _ _ _ diff --git a/compose.prysm.yaml b/compose.prysm.yaml index 0b7b435..994a7bb 100644 --- a/compose.prysm.yaml +++ b/compose.prysm.yaml @@ -14,6 +14,19 @@ x-prysm-base: &prysm-base x-prysm-volume-run: &prysm-volume-run ./prysm/run.sh:/home/prysm/run.sh x-prysm-volume-config: &prysm-volume-config ./testnet/config.yaml:/home/data/config.yaml +x-lodestar-base: &lodestar-base + image: chainsafe/lodestar:v1.40.0 + networks: [network1] + restart: unless-stopped + entrypoint: /opt/lodestar/run.sh + user: "${DUID:-}:${DGID:-}" # Used by docker-in-docker as it's based on linux + +x-lodestar-env: &lodestar-env + BUILDER_API_ENABLED: true + +x-lodestar-volume-run: &lodestar-volume-run ./lodestar/run.sh:/opt/lodestar/run.sh +x-lodestar-volume-config: &lodestar-volume-config ./testnet/config.yaml:/opt/lodestar/config.yaml + services: vc0-prysm: <<: *prysm-base @@ -35,15 +48,29 @@ services: - *prysm-volume-config - .charon/cluster/node1/validator_keys:/home/charon/validator_keys - vc2-prysm: - <<: *prysm-base + vc2-lodestar: + <<: *lodestar-base depends_on: [node2] environment: + <<: *lodestar-env BEACON_NODE_ADDRESS: "http://node2:3600" volumes: - - *prysm-volume-run - - *prysm-volume-config + - *lodestar-volume-run + - *lodestar-volume-config - .charon/cluster/node2/validator_keys:/home/charon/validator_keys + - ./data/lodestar/vc2:/opt/data + + vc3-lodestar: + <<: *lodestar-base + depends_on: [node3] + environment: + <<: *lodestar-env + BEACON_NODE_ADDRESS: "http://node3:3600" + volumes: + - *lodestar-volume-run + - *lodestar-volume-config + - .charon/cluster/node3/validator_keys:/home/charon/validator_keys + - ./data/lodestar/vc3:/opt/data networks: network1: diff --git a/deployments/env/charon.env b/deployments/env/charon.env index f36d765..59116d4 100644 --- a/deployments/env/charon.env +++ b/deployments/env/charon.env @@ -1,4 +1,4 @@ CHARON_IMAGE=obolnetwork/charon -CHARON_VERSION=v1.9.0 +CHARON_VERSION=v1.9.2 EXTERNAL_MONITORING=true diff --git a/deployments/env/cl_prysm.env b/deployments/env/cl_prysm.env index 84fa692..78f0dd7 100644 --- a/deployments/env/cl_prysm.env +++ b/deployments/env/cl_prysm.env @@ -1,3 +1,3 @@ CL_TYPE=prysm -CL_IMAGE=gcr.io/prysmaticlabs/prysm/beacon-chain -CL_VERSION=v7.1.3 +CL_IMAGE=gcr.io/offchainlabs/prysm/beacon-chain +CL_VERSION=james-branch-dc35ef8834 diff --git a/deployments/env/vc_prysm.env b/deployments/env/vc_prysm.env index 31f9f61..92c9e8a 100644 --- a/deployments/env/vc_prysm.env +++ b/deployments/env/vc_prysm.env @@ -1,3 +1,3 @@ VC_TYPE=prysm -VC_IMAGE=gcr.io/prysmaticlabs/prysm/validator -VC_VERSION=v7.1.2 +VC_IMAGE=gcr.io/offchainlabs/prysm/validator +VC_VERSION=james-branch-dc35ef8834 diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index 890e7f9..2e04bf7 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -12,6 +12,9 @@ scrape_configs: - job_name: "charon-2" static_configs: - targets: ["node2:3620"] + - job_name: "charon-3" + static_configs: + - targets: ["node3:3620"] - job_name: "vc-lighthouse" static_configs: - targets: @@ -24,7 +27,13 @@ scrape_configs: - targets: ["vc0-nimbus:8008", "vc1-nimbus:8008", "vc2-nimbus:8008"] - job_name: "vc-lodestar" static_configs: - - targets: ["vc0-lodestar:5064", "vc1-lodestar:5064", "vc2-lodestar:5064"] + - targets: + [ + "vc0-lodestar:5064", + "vc1-lodestar:5064", + "vc2-lodestar:5064", + "vc3-lodestar:5064", + ] - job_name: "vc-prysm" static_configs: - targets: ["vc0-prysm:8081", "vc1-prysm:8081", "vc2-prysm:8081"] diff --git a/setup_charon.sh b/setup_charon.sh index bf59676..d53e3c7 100755 --- a/setup_charon.sh +++ b/setup_charon.sh @@ -219,7 +219,7 @@ if [ -n "$genesis_time" ]; then # Create charon cluster. docker run -u $(id -u):$(id -g) --rm -v "$(pwd)/:/opt/charon" ${CHARON_IMAGE}:"${CHARON_VERSION}" create cluster \ --name="$CLUSTER_NAME" \ - --nodes=3 \ + --nodes=4 \ --fee-recipient-addresses="0x8943545177806ED17B9F23F0a21ee5948eCaa776" \ --withdrawal-addresses="0xBc7c960C1097ef1Af0FD32407701465f3c03e407" \ --split-existing-keys \