From ad7b1cd93c0c06112b647375ba0b079d72c562f0 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 12:50:40 -0600 Subject: [PATCH 01/20] Implement public key posting to Dappmanager Added a function to post the public key to Dappmanager and invoked it during the entrypoint execution. --- operator/entrypoint.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/operator/entrypoint.sh b/operator/entrypoint.sh index 4de744c..4b9702b 100755 --- a/operator/entrypoint.sh +++ b/operator/entrypoint.sh @@ -11,8 +11,32 @@ BEACON_NODES=$(get_beacon_api_url_from_global_env "$NETWORK") PASSWORD_FILE_PATH="/root/keys/password.txt" KEY_FILE_PATH="/root/keys/encrypted_private_key.json" +PUBLIC_KEY_FILE_PATH="/root/keys/public_key.txt" sleep 1 +post_pubkey_to_dappmanager() { + PUBLIC_KEY=$(cat "$PUBLIC_KEY_FILE_PATH") + + if [ -z "$PUBLIC_KEY" ]; then + echo "[ERROR - entrypoint] Public key not found at ${PUBLIC_KEY_FILE_PATH}, skipping Dappmanager post" + return 1 + fi + + curl --connect-timeout 5 \ + --max-time 10 \ + --silent \ + --retry 5 \ + --retry-delay 0 \ + --retry-max-time 40 \ + -X POST "http://dappmanager.dappnode/data-send?key=OperatorPublicKey&data=${PUBLIC_KEY}" || \ + { + echo "[ERROR - entrypoint] Failed to post public key to Dappmanager" + } + + echo "[INFO - entrypoint] Use this public key to register your node on the SSV network:" + echo "PUBLIC_KEY=${PUBLIC_KEY}" +} + # If Import Operator, save the EXISTING_PASSWORD to the password.txt at first import # Later when Anchor is starting it will use --password-file flag to decrypt the private key if [ "${SETUP_MODE}" = "Import Operator" ]; then @@ -51,6 +75,8 @@ else KEY_FILE="" fi +post_pubkey_to_dappmanager + FLAGS="--network=${NETWORK} \ --data-dir=/root/.anchor \ --beacon-nodes=${BEACON_NODES} \ From a0a34f3ff4c90cb32001e370b26abf76378e9234 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:39:08 -0600 Subject: [PATCH 02/20] Add Dockerfile for DKG service setup --- dkg/Dockerfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 dkg/Dockerfile diff --git a/dkg/Dockerfile b/dkg/Dockerfile new file mode 100644 index 0000000..17300f8 --- /dev/null +++ b/dkg/Dockerfile @@ -0,0 +1,25 @@ +ARG DGK_UPSTREAM_VERSION +FROM ssvlabs/ssv-dkg:${DGK_UPSTREAM_VERSION} + +WORKDIR / + +ARG NETWORK +ARG DKG_PORT +ARG STAKER_SCRIPTS_VERSION + +RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \ + yq inotify-tools jq curl + +COPY dkg-config.yml /ssv-dkg/config/dkg-config.yml +COPY entrypoint.sh /usr/local/bin/entrypoint.sh + +ENV DKG_PORT=${DKG_PORT} \ + DKG_DATA_DIR=/data/dkg \ + OPERATOR_DATA_DIR=/root/keys \ + NETWORK=${NETWORK} \ + METRICS_PORT=15000 \ + DKG_CONFIG_DIR=/ssv-dkg/config \ + STAKER_SCRIPTS_URL=https://github.com/dappnode/staker-package-scripts/releases/download/${STAKER_SCRIPTS_VERSION} + +ADD ${STAKER_SCRIPTS_URL}/dvt_lsd_tools.sh /etc/profile.d/ +ENTRYPOINT [ "entrypoint.sh" ] From 6cc443b56817e96627e98af7cbabccd1ce546a21 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:46:17 -0600 Subject: [PATCH 03/20] Add entrypoint script for DKG initialization --- dkg/entrypoint.sh | 128 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 dkg/entrypoint.sh diff --git a/dkg/entrypoint.sh b/dkg/entrypoint.sh new file mode 100644 index 0000000..dd03c33 --- /dev/null +++ b/dkg/entrypoint.sh @@ -0,0 +1,128 @@ +#!/bin/sh + +OPERATOR_CONFIG_DIR=${OPERATOR_DATA_DIR}/root/keys +DKG_LOGS_DIR=${DKG_DATA_DIR}/logs +DKG_OUTPUT_DIR=${DKG_DATA_DIR}/output +DKG_CERT_DIR=${DKG_DATA_DIR}/ssl + +PRIVATE_KEY_FILE=${OPERATOR_CONFIG_DIR}/encrypted_private_key.json +PRIVATE_KEY_PASSWORD_FILE=${OPERATOR_CONFIG_DIR}/password.txt +OPERATOR_ID_FILE=/data/dkg/operator_id.txt +DKG_CONFIG_FILE=${DKG_CONFIG_DIR}/dkg-config.yml +DKG_LOG_FILE=${DKG_LOGS_DIR}/dkg.log + +CERT_FILE="$DKG_CERT_DIR/tls.crt" +KEY_FILE="$DKG_CERT_DIR/tls.key" + +# To use staker scripts +# shellcheck disable=SC1091 +. /etc/profile + +assign_execution_endpoint() { + EXECUTION_LAYER=$(get_execution_rpc_api_url_from_global_env "$NETWORK") + export EXECUTION_LAYER +} + +create_directories() { + mkdir -p "${DKG_CONFIG_DIR}" "${DKG_LOGS_DIR}" "${DKG_OUTPUT_DIR}" +} + +wait_for_private_key() { + echo "[INFO] Waiting for the operator service to create the private key file..." + while [ ! -f "${PRIVATE_KEY_FILE}" ]; do + echo "[INFO] Waiting for ${PRIVATE_KEY_FILE} to be created..." + inotifywait -e create -qq "$(dirname "${PRIVATE_KEY_FILE}")" + done + + echo "[INFO] Private key file found." + + if [ ! -f "${PRIVATE_KEY_PASSWORD_FILE}" ]; then + echo "[ERROR] ${PRIVATE_KEY_PASSWORD_FILE} not found. Cannot continue without the private key password file. Restarting dkg service..." + exit 1 # To avoid restart loop + fi +} + +get_operator_id() { + if [ -z "${OPERATOR_ID}" ]; then + + # Read operator ID from the file if it exists and is not empty + if [ -f "${OPERATOR_ID_FILE}" ] && [ -s "${OPERATOR_ID_FILE}" ]; then + OPERATOR_ID=$(cat "${OPERATOR_ID_FILE}") + echo "[INFO] Using OPERATOR_ID from the file: ${OPERATOR_ID}" + else + fetch_operator_id_from_api + fi + else + echo "[INFO] Using provided OPERATOR_ID: ${OPERATOR_ID}" + echo "${OPERATOR_ID}" >"${OPERATOR_ID_FILE}" + fi +} + +fetch_operator_id_from_api() { + echo "[INFO] OPERATOR_ID not provided. Fetching OPERATOR_ID from the API..." + + PUBLIC_KEY=$(jq -r '.pubKey' "${PRIVATE_KEY_FILE}") + + # If the PUBLIC_KEY is empty, try extracting using the '.publicKey' field (for previous SSV versions) + if [ -z "$PUBLIC_KEY" ] || [ "$PUBLIC_KEY" = "null" ]; then + PUBLIC_KEY=$(jq -r '.publicKey' "${PRIVATE_KEY_FILE}") + fi + + # Fetch the operator ID using the public key (retry 50 times with a delay of 10mins) + RESPONSE=$(curl --retry 50 --retry-delay 600 "https://api.ssv.network/api/v4/${NETWORK}/operators/public_key/${PUBLIC_KEY}") + + OPERATOR_ID=$(echo "${RESPONSE}" | jq -r '.data.id') + + # Check if OPERATOR_ID is successfully retrieved + if [ -z "${OPERATOR_ID}" ] || [ "${OPERATOR_ID}" = "null" ]; then + echo "[ERROR] Failed to fetch OPERATOR_ID from the API. Is your operator registered on the SSV network?" + echo "[INFO] Once registered, set OPERATOR_ID in the package config to perform the DKG or restart the dkg service to retry fetching it from the SSV API." + sleep 10m # To allow restoring backup + exit 0 + else + echo "[INFO] Successfully fetched OPERATOR_ID: ${OPERATOR_ID}" + echo "${OPERATOR_ID}" >"${OPERATOR_ID_FILE}" + fi +} + +generate_tls_cert() { + echo "[INFO] Generating TLS certificates..." + + mkdir -p "$DKG_CERT_DIR" + + # Generate a self-signed SSL certificate only if it doesn't exist + if [ ! -f "$CERT_FILE" ] || [ ! -f "$KEY_FILE" ]; then + echo "[INFO] Certificate or key file not found. Generating new SSL certificate and key." + openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ + -keyout "$KEY_FILE" -out "$CERT_FILE" \ + -subj "/C=IL/ST=Tel Aviv/L=Tel Aviv/O=Coin-Dash Ltd/CN=*.ssvlabs.io" + else + echo "[INFO] Existing SSL certificate and key found. Using them." + fi +} + +start_dkg() { + exec /bin/ssv-dkg start-operator \ + --operatorID "${OPERATOR_ID}" \ + --configPath ".${DKG_CONFIG_FILE}" \ + --logFilePath ".${DKG_LOG_FILE}" \ + --logLevel "${LOG_LEVEL}" \ + --outputPath ".${DKG_OUTPUT_DIR}" \ + --port "${DKG_PORT}" \ + --privKey ".${PRIVATE_KEY_FILE}" \ + --privKeyPassword ".${PRIVATE_KEY_PASSWORD_FILE}" \ + --serverTLSCertPath ".${CERT_FILE}" \ + --ethEndpointURL "${EXECUTION_LAYER}" \ + --serverTLSKeyPath ".${KEY_FILE}" +} + +main() { + create_directories + assign_execution_endpoint + wait_for_private_key + get_operator_id + generate_tls_cert + start_dkg +} + +main From 96dc7dd53f558c6d3805e83d8097834317087f17 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:54:18 -0600 Subject: [PATCH 04/20] Add DKG service configuration to docker-compose --- docker-compose.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 83654b6..9a74b62 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,21 @@ services: EXTRA_OPTS: "" EXISTING_PASSWORD: "" NEW_PASSWORD: "" + dkg: + build: + context: dkg + args: + DKG_UPSTREAM_VERSION: v3.1.0 + STAKER_SCRIPTS_VERSION: v0.1.2 + restart: on-failure + volumes: + - operator-keys:/root/keys + - dkg-data:/data/dkg + environment: + LOG_LEVEL: info + OPERATOR_ID: "" + EXTRA_OPTS: "" volumes: operator-data: {} operator-keys: {} + dkg-data: {} From 22ef8b4e65acc415c356558bf29e245ec212526e Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:54:36 -0600 Subject: [PATCH 05/20] Add DKG repository and update architectures --- dappnode_package.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index 926126f..d72c23f 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -5,13 +5,18 @@ "version": "v1.2.3", "arg": "UPSTREAM_VERSION" }, + { + "repo": "ssvlabs/ssv-dkg", + "version": "v3.1.0", + "arg": "DKG_UPSTREAM_VERSION" + }, { "repo": "dappnode/staker-package-scripts", "version": "v0.1.2", "arg": "STAKER_SCRIPTS_VERSION" } ], - "architectures": ["linux/amd64", "linux/arm64"], + "architectures": ["linux/amd64"], "shortDescription": "Anchor", "description": "Anchor is an open source implementation of the Secret Shared Validator (SSV) protocol, written in Rust and maintained by Sigma Prime.", "type": "service", @@ -32,6 +37,7 @@ "minimumDappnodeVersion": "0.2.101" }, "license": "Apache-2.0", + "mainService": "operator", "links": { "Readme": "https://github.com/dappnode/DAppNodePackage-Anchor", "Documentation": "https://anchor.sigmaprime.io/introduction/", @@ -46,6 +52,11 @@ "name": "keys", "path": "/root/keys", "service": "operator" + }, + { + "name": "dkg-output", + "path": "/data/dkg/output", + "service": "dkg" } ] } From 57e49cb4b2785efc7b84cddc3213f064eb30aecf Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:55:41 -0600 Subject: [PATCH 06/20] Add DKG service to docker-compose configuration --- package_variants/hoodi/docker-compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package_variants/hoodi/docker-compose.yml b/package_variants/hoodi/docker-compose.yml index 50ecf96..345ca22 100644 --- a/package_variants/hoodi/docker-compose.yml +++ b/package_variants/hoodi/docker-compose.yml @@ -9,3 +9,10 @@ services: - "9102:9102/tcp" - "9102:9102/udp" - "9103:9103/udp" + dkg: + build: + args: + NETWORK: hoodi + DKG_PORT: 15514 + ports: + - "15514:15514" From e312cf30a7ea84f44a26344281694f2e8d629b07 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:56:23 -0600 Subject: [PATCH 07/20] Add DKG service configuration to docker-compose --- package_variants/mainnet/docker-compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package_variants/mainnet/docker-compose.yml b/package_variants/mainnet/docker-compose.yml index 23a81fe..e23e78a 100644 --- a/package_variants/mainnet/docker-compose.yml +++ b/package_variants/mainnet/docker-compose.yml @@ -9,3 +9,10 @@ services: - "9100:9100/tcp" - "9100:9100/udp" - "9101:9101/udp" + dkg: + build: + args: + NETWORK: mainnet + DKG_PORT: 15516 + ports: + - "15516:15516" From 2ea7e99c700f21462a38049b89d98eedcf1c0f71 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:11:27 -0600 Subject: [PATCH 08/20] Update Dockerfile --- dkg/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dkg/Dockerfile b/dkg/Dockerfile index 17300f8..6d9ad2f 100644 --- a/dkg/Dockerfile +++ b/dkg/Dockerfile @@ -1,5 +1,5 @@ -ARG DGK_UPSTREAM_VERSION -FROM ssvlabs/ssv-dkg:${DGK_UPSTREAM_VERSION} +ARG DKG_UPSTREAM_VERSION +FROM ssvlabs/ssv-dkg:${DKG_UPSTREAM_VERSION} WORKDIR / From 27a1894b5d264b43e7202c765ef6fa1b06633a21 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:16:30 -0600 Subject: [PATCH 09/20] Fix typo in DKG_UPSTREAM_VERSION argument --- dappnode_package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index d72c23f..787e8cb 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -8,7 +8,7 @@ { "repo": "ssvlabs/ssv-dkg", "version": "v3.1.0", - "arg": "DKG_UPSTREAM_VERSION" + "arg": "DGK_UPSTREAM_VERSION" }, { "repo": "dappnode/staker-package-scripts", From edc6a0387d1aea0ab9ec3a89e21253d53e28546b Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:16:45 -0600 Subject: [PATCH 10/20] Fix typo in DKG_UPSTREAM_VERSION variable --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9a74b62..d14c65d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,7 +20,7 @@ services: build: context: dkg args: - DKG_UPSTREAM_VERSION: v3.1.0 + DGK_UPSTREAM_VERSION: v3.1.0 STAKER_SCRIPTS_VERSION: v0.1.2 restart: on-failure volumes: From e44f628571e253b4a386d1a132d46ebb964f3b66 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:23:11 -0600 Subject: [PATCH 11/20] Fix typo in Dockerfile ARG variable name --- dkg/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dkg/Dockerfile b/dkg/Dockerfile index 6d9ad2f..17300f8 100644 --- a/dkg/Dockerfile +++ b/dkg/Dockerfile @@ -1,5 +1,5 @@ -ARG DKG_UPSTREAM_VERSION -FROM ssvlabs/ssv-dkg:${DKG_UPSTREAM_VERSION} +ARG DGK_UPSTREAM_VERSION +FROM ssvlabs/ssv-dkg:${DGK_UPSTREAM_VERSION} WORKDIR / From ecb0a05a5fd6447d2282fbd99c110070f061ca64 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:28:22 -0600 Subject: [PATCH 12/20] Create dkg-config.yml --- dkg/dkg-config.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 dkg/dkg-config.yml diff --git a/dkg/dkg-config.yml b/dkg/dkg-config.yml new file mode 100644 index 0000000..49e8e44 --- /dev/null +++ b/dkg/dkg-config.yml @@ -0,0 +1,8 @@ +privKey: +privKeyPassword: +port: +storeShare: true +logLevel: +logFormat: json +logLevelFormat: capitalColor +logFilePath: /data/dkg.log From ea4f2365cef706f232d92f3b7db210c7a34c7207 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:45:45 -0600 Subject: [PATCH 13/20] Add executable permission to entrypoint.sh --- dkg/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dkg/Dockerfile b/dkg/Dockerfile index 17300f8..95c5f80 100644 --- a/dkg/Dockerfile +++ b/dkg/Dockerfile @@ -13,6 +13,8 @@ RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/co COPY dkg-config.yml /ssv-dkg/config/dkg-config.yml COPY entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod +x /usr/local/bin/entrypoint.sh + ENV DKG_PORT=${DKG_PORT} \ DKG_DATA_DIR=/data/dkg \ OPERATOR_DATA_DIR=/root/keys \ From 36ffb01f2e5d2adc6a0ce5825068f21da8420436 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:03:34 -0600 Subject: [PATCH 14/20] Update OPERATOR_CONFIG_DIR path in entrypoint.sh --- dkg/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkg/entrypoint.sh b/dkg/entrypoint.sh index dd03c33..d8b2adf 100644 --- a/dkg/entrypoint.sh +++ b/dkg/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/sh -OPERATOR_CONFIG_DIR=${OPERATOR_DATA_DIR}/root/keys +OPERATOR_CONFIG_DIR=${OPERATOR_DATA_DIR} DKG_LOGS_DIR=${DKG_DATA_DIR}/logs DKG_OUTPUT_DIR=${DKG_DATA_DIR}/output DKG_CERT_DIR=${DKG_DATA_DIR}/ssl From 43f1d5129b9a3327cd43fa075e6beb70f1f4cc23 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:50:47 -0600 Subject: [PATCH 15/20] Update dappnode_package.json Co-authored-by: 3alpha <15694175+3alpha@users.noreply.github.com> --- dappnode_package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index 787e8cb..8cfa471 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -16,7 +16,7 @@ "arg": "STAKER_SCRIPTS_VERSION" } ], - "architectures": ["linux/amd64"], + "architectures": ["linux/amd64", "linux/arm64"], "shortDescription": "Anchor", "description": "Anchor is an open source implementation of the Secret Shared Validator (SSV) protocol, written in Rust and maintained by Sigma Prime.", "type": "service", From 6cbef419e1196b37d6bb359b3dea577cfb42a70f Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:21:33 -0600 Subject: [PATCH 16/20] Update dappnode_package.json Co-authored-by: 3alpha <15694175+3alpha@users.noreply.github.com> --- dappnode_package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index 8cfa471..523aabb 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -8,7 +8,7 @@ { "repo": "ssvlabs/ssv-dkg", "version": "v3.1.0", - "arg": "DGK_UPSTREAM_VERSION" + "arg": "DKG_UPSTREAM_VERSION" }, { "repo": "dappnode/staker-package-scripts", From 364fff2b620210c3506ac24d3ce3452d534a4bd4 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:21:44 -0600 Subject: [PATCH 17/20] Update docker-compose.yml Co-authored-by: 3alpha <15694175+3alpha@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index d14c65d..9a74b62 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,7 +20,7 @@ services: build: context: dkg args: - DGK_UPSTREAM_VERSION: v3.1.0 + DKG_UPSTREAM_VERSION: v3.1.0 STAKER_SCRIPTS_VERSION: v0.1.2 restart: on-failure volumes: From a0c237879fadf60b1eca2b605ae0e8ef4834129c Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:34:41 -0600 Subject: [PATCH 18/20] Fix typo in Dockerfile ARG declaration --- dkg/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkg/Dockerfile b/dkg/Dockerfile index 95c5f80..aed576b 100644 --- a/dkg/Dockerfile +++ b/dkg/Dockerfile @@ -1,4 +1,4 @@ -ARG DGK_UPSTREAM_VERSION +ARG DKG_UPSTREAM_VERSION FROM ssvlabs/ssv-dkg:${DGK_UPSTREAM_VERSION} WORKDIR / From 0fd73e934d2f6cf5624b7dd15b2ca94e63257bad Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:36:29 -0600 Subject: [PATCH 19/20] Fix typo in Dockerfile variable name --- dkg/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkg/Dockerfile b/dkg/Dockerfile index aed576b..4ee42c0 100644 --- a/dkg/Dockerfile +++ b/dkg/Dockerfile @@ -1,5 +1,5 @@ ARG DKG_UPSTREAM_VERSION -FROM ssvlabs/ssv-dkg:${DGK_UPSTREAM_VERSION} +FROM ssvlabs/ssv-dkg:${DKG_UPSTREAM_VERSION} WORKDIR / From ebc82d2c17c94470b244154470bf72c936d1daf9 Mon Sep 17 00:00:00 2001 From: Chuy Garcia <75956027+chuygarcia92@users.noreply.github.com> Date: Fri, 12 Jun 2026 10:43:19 -0600 Subject: [PATCH 20/20] Downgrade ssv-dkg version from v3.1.0 to v3.0.3 0x02 credentials aren't supported by Lido CSM yet --- dappnode_package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index 523aabb..d6939bf 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -7,7 +7,7 @@ }, { "repo": "ssvlabs/ssv-dkg", - "version": "v3.1.0", + "version": "v3.0.3", "arg": "DKG_UPSTREAM_VERSION" }, {