From 19f084d2efa76d28d9ee5a07a649b33df1671f6f Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Wed, 14 May 2025 15:51:07 +0530 Subject: [PATCH 01/10] bumped keyper version to v1.3.9 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index b71369d..52b9f5f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: build: context: shutter args: - UPSTREAM_VERSION: v1.3.7 + UPSTREAM_VERSION: v1.3.9 KEYPER_CONFIG_DIR: /keyper/config SHUTTER_CHAIN_DIR: /chain STAKER_SCRIPTS_VERSION: v0.1.1 From 8ca1721b0c5a2e4fef2154f6b0565604c528a80f Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Tue, 10 Jun 2025 14:41:17 +0530 Subject: [PATCH 02/10] feat: update assets version and include sync_monitor_check_interval via assets build --- package_variants/gnosis/docker-compose.yml | 4 ++-- shutter/go-shutter-settings/settings/keyper.go | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/package_variants/gnosis/docker-compose.yml b/package_variants/gnosis/docker-compose.yml index ce56638..98cae24 100644 --- a/package_variants/gnosis/docker-compose.yml +++ b/package_variants/gnosis/docker-compose.yml @@ -6,7 +6,7 @@ services: CHAIN_PORT: 27656 KEYPER_PORT: 24003 KEYPER_METRICS_PORT: 9100 - ASSETS_VERSION: shutter-api-gnosis-1000-v0.0.0 + ASSETS_VERSION: shutter-api-gnosis-1000-v0.0.1 ports: - "24003:24003" - "27656:27656" @@ -17,4 +17,4 @@ services: build: args: NETWORK: gnosis - ASSETS_VERSION: shutter-api-gnosis-1000-v0.0.0 \ No newline at end of file + ASSETS_VERSION: shutter-api-gnosis-1000-v0.0.1 \ No newline at end of file diff --git a/shutter/go-shutter-settings/settings/keyper.go b/shutter/go-shutter-settings/settings/keyper.go index 7045b51..e07a552 100644 --- a/shutter/go-shutter-settings/settings/keyper.go +++ b/shutter/go-shutter-settings/settings/keyper.go @@ -12,11 +12,12 @@ type KeyperConfig struct { BeaconAPIURL string `env:"SHUTTER_BEACONAPIURL"` MaxNumKeysPerMessage int `env:"_ASSETS_MAX_NUM_KEYS_PER_MESSAGE"` Chain struct { - EncryptedGasLimit int `env:"_ASSETS_ENCRYPTED_GAS_LIMIT"` - MaxTxPointerAge int `env:"_ASSETS_MAX_TX_POINTER_AGE"` - GenesisSlotTimestamp int `env:"_ASSETS_GENESIS_SLOT_TIMESTAMP"` - SyncStartBlockNumber int `env:"_ASSETS_SYNC_START_BLOCK_NUMBER"` - Node struct { + EncryptedGasLimit int `env:"_ASSETS_ENCRYPTED_GAS_LIMIT"` + MaxTxPointerAge int `env:"_ASSETS_MAX_TX_POINTER_AGE"` + GenesisSlotTimestamp int `env:"_ASSETS_GENESIS_SLOT_TIMESTAMP"` + SyncStartBlockNumber int `env:"_ASSETS_SYNC_START_BLOCK_NUMBER"` + SyncMonitorCheckInterval int `env:"_ASSETS_SYNC_MONITOR_CHECK_INTERVAL"` + Node struct { PrivateKey string `env:"SHUTTER_API_NODE_PRIVATEKEY"` ContractsURL string `env:"SHUTTER_GNOSIS_NODE_CONTRACTSURL"` //Unused DeploymentDir string `env:"SHUTTER_DEPLOYMENT_DIR"` // Unused From ea086a2e66dc92ca7f350ee837321dbe2eee605c Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Mon, 23 Jun 2025 19:12:06 +0530 Subject: [PATCH 03/10] fix: get_execution_ws_url_from_global_env bug from staker scripts --- shutter/scripts/configure_keyper.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index c581ec6..5d58d7f 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -33,7 +33,8 @@ fi export SHUTTER_P2P_ADVERTISEADDRESSES="[\"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/tcp/${KEYPER_PORT}\", \"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/udp/${KEYPER_PORT}/quic-v1\"]" -export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-$(get_execution_ws_url_from_global_env "$NETWORK" "$SUPPORTED_NETWORKS")} +//FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. +export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8545} echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" test_ethereum_url From a5c6b561caf0e660aaf086d09b7707e4a2306afe Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Mon, 23 Jun 2025 19:52:26 +0530 Subject: [PATCH 04/10] fix: execution client rpc port can be 8546/8545 --- shutter/scripts/configure_keyper.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index 5d58d7f..35cd600 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -16,9 +16,13 @@ PATH=$NODE_HOME/bin:$PATH function test_ethereum_url() { RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else - echo "Could not find DAppNode RPC/WS url for this package!" - echo "Please configure 'ETHEREUM_WS' to point to an applicable websocket RPC service." - exit 1; + export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8545 + RESULT=$(wscat -c "" -x '{"jsonrpc": "2.0", "method": "net_version", "params": [], "id": 1}') + if [[ $RESULT =~ '"id":1' ]]; then return 0; else + echo "Could not find DAppNode RPC/WS url for this package!" + echo "Please configure 'ETHEREUM_WS' to point to an applicable websocket RPC service." + exit 1 + fi fi } @@ -34,7 +38,7 @@ fi export SHUTTER_P2P_ADVERTISEADDRESSES="[\"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/tcp/${KEYPER_PORT}\", \"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/udp/${KEYPER_PORT}/quic-v1\"]" //FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. -export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8545} +export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8546} echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" test_ethereum_url From 26ad3cc56de6c26f4e3dcd74401504b8693fb4fc Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Tue, 24 Jun 2025 13:48:01 +0530 Subject: [PATCH 05/10] fix: use NETWORK instead of SUPPORTED_NETWORKS for execution rpc url --- shutter/scripts/configure_keyper.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index 35cd600..3141c9c 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -16,8 +16,8 @@ PATH=$NODE_HOME/bin:$PATH function test_ethereum_url() { RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else - export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8545 - RESULT=$(wscat -c "" -x '{"jsonrpc": "2.0", "method": "net_version", "params": [], "id": 1}') + export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${NETWORK}.dncore.dappnode:8545 + RESULT=$(wscat -c "" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else echo "Could not find DAppNode RPC/WS url for this package!" echo "Please configure 'ETHEREUM_WS' to point to an applicable websocket RPC service." @@ -38,7 +38,7 @@ fi export SHUTTER_P2P_ADVERTISEADDRESSES="[\"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/tcp/${KEYPER_PORT}\", \"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/udp/${KEYPER_PORT}/quic-v1\"]" //FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. -export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${SUPPORTED_NETWORKS}.dncore.dappnode:8546} +export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${NETWORK}.dncore.dappnode:8546} echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" test_ethereum_url From 1e6c4538756bcf3bb7caff849777dc14905e86e4 Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Tue, 24 Jun 2025 13:58:06 +0530 Subject: [PATCH 06/10] fix: test_ethereum_url --- shutter/scripts/configure_keyper.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index 3141c9c..bb5e463 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -17,7 +17,7 @@ function test_ethereum_url() { RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${NETWORK}.dncore.dappnode:8545 - RESULT=$(wscat -c "" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') + RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else echo "Could not find DAppNode RPC/WS url for this package!" echo "Please configure 'ETHEREUM_WS' to point to an applicable websocket RPC service." From 70a1a02ce7ae63b0db78165e5680cda324f76ddc Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Tue, 24 Jun 2025 15:07:35 +0530 Subject: [PATCH 07/10] chore: add staker scripts issue link in the comment --- shutter/scripts/configure_keyper.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index bb5e463..8413355 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -14,6 +14,10 @@ NODE_PATH=$NODE_HOME/lib/node_modules PATH=$NODE_HOME/bin:$PATH function test_ethereum_url() { + # FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. + # Git Issue: https://github.com/dappnode/staker-package-scripts/issues/11 + export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${NETWORK}.dncore.dappnode:8546} + echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${NETWORK}.dncore.dappnode:8545 @@ -37,9 +41,6 @@ fi export SHUTTER_P2P_ADVERTISEADDRESSES="[\"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/tcp/${KEYPER_PORT}\", \"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/udp/${KEYPER_PORT}/quic-v1\"]" -//FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. -export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${NETWORK}.dncore.dappnode:8546} -echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" test_ethereum_url export VALIDATOR_PUBLIC_KEY=$(cat "${SHUTTER_CHAIN_DIR}/config/priv_validator_pubkey.hex") From 6e5de32cf3d041ce5bc9d6416f7aea0c3507df2d Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Tue, 24 Jun 2025 17:23:08 +0530 Subject: [PATCH 08/10] chore: update echo in configure_keyper.sh for better debugging --- shutter/scripts/configure_keyper.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index 8413355..5ff5b1c 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -17,7 +17,6 @@ function test_ethereum_url() { # FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. # Git Issue: https://github.com/dappnode/staker-package-scripts/issues/11 export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${NETWORK}.dncore.dappnode:8546} - echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${NETWORK}.dncore.dappnode:8545 @@ -42,6 +41,7 @@ fi export SHUTTER_P2P_ADVERTISEADDRESSES="[\"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/tcp/${KEYPER_PORT}\", \"/ip4/${_DAPPNODE_GLOBAL_PUBLIC_IP}/udp/${KEYPER_PORT}/quic-v1\"]" test_ethereum_url +echo "[DEBUG | configure] SHUTTER_NETWORK_NODE_ETHEREUMURL is ${SHUTTER_NETWORK_NODE_ETHEREUMURL}" export VALIDATOR_PUBLIC_KEY=$(cat "${SHUTTER_CHAIN_DIR}/config/priv_validator_pubkey.hex") export SHUTTER_METRICS_ENABLED=${SHUTTER_PUSH_METRICS_ENABLED} From 8105b6232b66dbdff044bdd0a4ddf654a2fa88c8 Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Wed, 25 Jun 2025 18:06:00 +0530 Subject: [PATCH 09/10] fix: add staker-scripts@v0.1.0 with exlicit 8545 port check --- dappnode_package.json | 2 +- docker-compose.yml | 2 +- shutter/scripts/configure_keyper.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dappnode_package.json b/dappnode_package.json index 1fea366..d64379e 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -10,7 +10,7 @@ "upstream": [ { "repo": "dappnode/staker-package-scripts", - "version": "v0.1.1", + "version": "v0.1.0", "arg": "STAKER_SCRIPTS_VERSION" } ], diff --git a/docker-compose.yml b/docker-compose.yml index 52b9f5f..7712c1c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: UPSTREAM_VERSION: v1.3.9 KEYPER_CONFIG_DIR: /keyper/config SHUTTER_CHAIN_DIR: /chain - STAKER_SCRIPTS_VERSION: v0.1.1 + STAKER_SCRIPTS_VERSION: v0.1.0 restart: unless-stopped environment: - SHUTTER_API_NODE_PRIVATEKEY="" diff --git a/shutter/scripts/configure_keyper.sh b/shutter/scripts/configure_keyper.sh index 5ff5b1c..1115a94 100755 --- a/shutter/scripts/configure_keyper.sh +++ b/shutter/scripts/configure_keyper.sh @@ -16,7 +16,7 @@ PATH=$NODE_HOME/bin:$PATH function test_ethereum_url() { # FIXME: This is a workaround for the issue with the staker-scripts@v0.1.1 not setting get_execution_ws_url_from_global_env correctly in the environment variables. # Git Issue: https://github.com/dappnode/staker-package-scripts/issues/11 - export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-ws://execution.${NETWORK}.dncore.dappnode:8546} + export SHUTTER_NETWORK_NODE_ETHEREUMURL=${ETHEREUM_WS:-$(get_execution_ws_url_from_global_env ${NETWORK} ${SUPPORTED_NETWORKS})} RESULT=$(wscat -c "$SHUTTER_NETWORK_NODE_ETHEREUMURL" -x '{"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 1}') if [[ $RESULT =~ '"id":1' ]]; then return 0; else export SHUTTER_NETWORK_NODE_ETHEREUMURL=ws://execution.${NETWORK}.dncore.dappnode:8545 From 5d3942d291a4850f364b41e597a43b6a055b52e1 Mon Sep 17 00:00:00 2001 From: blockchainluffy Date: Wed, 25 Jun 2025 23:20:31 +0530 Subject: [PATCH 10/10] chore: remove default value for ETHEREUM_WS --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7712c1c..9cff7ee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: - SHUTTER_API_NODE_PRIVATEKEY="" - SHUTTER_PUSH_METRICS_ENABLED=false - KEYPER_NAME="" - - ETHEREUM_WS="" + - ETHEREUM_WS= - SHUTTER_PUSH_LOGS_ENABLED=false - PUSHGATEWAY_USERNAME="" - PUSHGATEWAY_PASSWORD=""