From 68769f2c325798d3f13090d971f07df09d64a473 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:22:48 +0100 Subject: [PATCH 01/27] add autopeering query --- node-installer.sh | 82 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 278168ff..8c7c055d 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -1,7 +1,7 @@ #!/bin/sh -VRSN="v.3.1.7" -BUILD="20240210_131938" +VRSN="v.3.1.8" +BUILD="20240210_231311" VAR_DOMAIN='' VAR_HOST='' @@ -130,19 +130,19 @@ echo "$xx" InstallerHash=$(curl -L https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/checksum.txt) >/dev/null 2>&1 -IotaHornetHash='8717d9b55252dc1c9a40d93111340b5f247abdda5ea238df9fb774840625a5be' +IotaHornetHash='18fe50c7098335ef20b9ceb4fc8aa55e5c8c056991c5cf355b7e4e6a775629c7' IotaHornetPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/iota-hornet.tar.gz" -IotaWaspHash='361fccd8673b2827eca571c10b25a45b843772b4fbbd83ace7425de920e873f8' +IotaWaspHash='58ff26fc01b1eb3986523326eab59d42bae43947e0cf835bb55dfb7f3bfca603' IotaWaspPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/iota-wasp.tar.gz" -ShimmerHornetHash='4c47c17ac8af9fd089faf8f624389649aaa310671ca331d265eee4b354184a4e' +ShimmerHornetHash='6275801bfbf9c729eed36e1e2084c317c359b2c4acb1bc73d4c8fbb87009ac81' ShimmerHornetPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-hornet.tar.gz" -ShimmerWaspHash='9e1d6962209cace28b1232a02dc2e8fa15099c70b2a4fd55e17b2463203002bc' +ShimmerWaspHash='f818b3efdd29f8acf2d6b5396b9484c8fc2bd1daba502ee64316caff42b886b7' ShimmerWaspPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-wasp.tar.gz" -ShimmerChronicleHash='984c1c7a8af02041d2520af3a7350bffc4619cd00d97af5407e4c236bdb345bb' +ShimmerChronicleHash='21d9c027739a32117c42792f5dd36febf8befa7380069e958c4423335397dcb1' ShimmerChroniclePackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-chronicle.tar.gz" if [ "$VRSN" = 'dev-latest' ]; then VRSN=$BUILD; fi @@ -981,7 +981,7 @@ Dashboard() { VAR_STATUS="$NODE$NETWORK: $VAR_STATUS" if [ "$opt_mode" = 's' ]; then NotifyMessage "err!" "$VAR_DOMAIN" "$VAR_STATUS"; fi docker compose stop - docker compose pull + docker compose pull 2>&1 | grep -v "Pulling" | sort ./prepare_docker.sh if [ "$NODE" = 'iota-hornet' ]; then VAR_STATUS="$NODE$NETWORK: reset database" @@ -2629,6 +2629,27 @@ IotaHornet() { echo "$rd""Set PoW / proof of work: $VAR_IOTA_HORNET_POW""$xx" fi + echo '' + VAR_IOTA_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) + VAR_DEFAULT='true' # Standardwert für Autopeering + if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then + echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi + read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; + if [ -n "$VAR_TMP" ]; then + VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'A' ]; then + VAR_IOTA_HORNET_AUTOPEERING='true' + else + VAR_IOTA_HORNET_AUTOPEERING='false' + fi + elif [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_DEFAULT; fi + + if [ "$VAR_IOTA_HORNET_AUTOPEERING" ]; then + echo "$gn""Set autopeering: $VAR_IOTA_HORNET_AUTOPEERING""$xx" + else + echo "$rd""Set autopeering: $VAR_IOTA_HORNET_AUTOPEERING""$xx" + fi + echo '' VAR_USERNAME=$(cat .env 2>/dev/null | grep DASHBOARD_USERNAME= | cut -d '=' -f 2) VAR_DEFAULT=$(cat /dev/urandom | tr -dc '[:alpha:]' | fold -w "${1:-10}" | head -n 1); @@ -2680,6 +2701,7 @@ IotaHornet() { echo "HORNET_POW_ENABLED=$VAR_IOTA_HORNET_POW" >> .env echo "HORNET_HTTPS_PORT=$VAR_IOTA_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env + echo "HORNET_AUTOPEERING_ENABLED=$VAR_IOTA_HORNET_AUTOPEERING" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env echo "RESTAPI_SALT=$VAR_SALT" >> .env @@ -2744,9 +2766,7 @@ IotaHornet() { echo "" docker network create iota >/dev/null 2>&1 - docker compose pull - - echo "done..." + docker compose pull 2>&1 | grep -v "Pulling" | sort echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear @@ -3133,9 +3153,7 @@ IotaWasp() { echo "" docker network create iota >/dev/null 2>&1 - docker compose pull - - echo "done..." + docker compose pull 2>&1 | grep -v "Pulling" | sort echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear @@ -3314,7 +3332,7 @@ ShimmerHornet() { echo "" VAR_HOST=$(cat .env 2>/dev/null | grep HORNET_HOST= | cut -d '=' -f 2) - if [ -z "$VAR_HOST" ]; then + if [ -z "$VAR_HOST" ]; thenSHIMME VAR_HOST=$(echo "$VAR_DOMAIN" | xargs) if [ -n "$VAR_HOST" ]; then echo "Set domain name (global: $ca""$VAR_HOST""$xx):"; echo "Press [Enter] to use global domain:" @@ -3387,6 +3405,27 @@ ShimmerHornet() { else echo "$rd""Set PoW / proof of work: $VAR_SHIMMER_HORNET_POW""$xx" fi + echo '' + + VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) + VAR_DEFAULT='true' # Standardwert für Autopeering + if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then + echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi + read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; + if [ -n "$VAR_TMP" ]; then + VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_TMP + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'A' ]; then + VAR_SHIMMER_HORNET_AUTOPEERING='true' + else + VAR_SHIMMER_HORNET_AUTOPEERING='false' + fi + elif [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_DEFAULT; fi + + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then + echo "$gn""Set autopeering: $VAR_SHIMMER_HORNET_AUTOPEERING""$xx" + else + echo "$rd""Set autopeering: $VAR_SHIMMER_HORNET_AUTOPEERING""$xx" + fi echo '' VAR_USERNAME=$(cat .env 2>/dev/null | grep DASHBOARD_USERNAME= | cut -d '=' -f 2) @@ -3439,6 +3478,7 @@ ShimmerHornet() { echo "HORNET_POW_ENABLED=$VAR_SHIMMER_HORNET_POW" >> .env echo "HORNET_HTTPS_PORT=$VAR_SHIMMER_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env + echo "HORNET_AUTOPEERING_ENABLED=$VAR_SHIMMER_HORNET_AUTOPEERING" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env echo "RESTAPI_SALT=$VAR_SALT" >> .env @@ -3503,9 +3543,7 @@ ShimmerHornet() { echo "" docker network create shimmer >/dev/null 2>&1 - docker compose pull - - echo "done..." + docker compose pull 2>&1 | grep -v "Pulling" | sort echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear @@ -3892,9 +3930,7 @@ ShimmerWasp() { echo "" docker network create shimmer >/dev/null 2>&1 - docker compose pull - - echo "done..." + docker compose pull 2>&1 | grep -v "Pulling" | sort echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear @@ -4228,9 +4264,7 @@ ShimmerChronicle() { echo "" docker network create shimmer >/dev/null 2>&1 - docker compose pull - - echo "done..." + docker compose pull 2>&1 | grep -v "Pulling" | sort echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear From a2e3457a470e16e92c795114e4601d8620a55d9e Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:25:13 +0100 Subject: [PATCH 02/27] add autopeering variable --- shimmer-hornet/prepare_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shimmer-hornet/prepare_docker.sh b/shimmer-hornet/prepare_docker.sh index 2f410766..87c691d7 100755 --- a/shimmer-hornet/prepare_docker.sh +++ b/shimmer-hornet/prepare_docker.sh @@ -54,7 +54,7 @@ set_config "${configPath}" ".p2p.db.path" "\"/app/p2pstore\"" set_config "${configPath}" ".snapshots.fullPath" "\"/app/snapshots/full_snapshot.bin\"" set_config "${configPath}" ".snapshots.deltaPath" "\"/app/snapshots/delta_snapshot.bin\"" set_config "${configPath}" ".pruning.size.targetSize" "\"${HORNET_PRUNING_TARGET_SIZE:-64GB}\"" -set_config "${configPath}" ".p2p.autopeering.enabled" "true" +set_config "${configPath}" ".p2p.autopeering.enabled" "${HORNET_AUTOPEERING_ENABLED:-true}" set_config "${configPath}" ".restAPI.pow.enabled" "${HORNET_POW_ENABLED:-true}" set_config "${configPath}" ".prometheus.enabled" "true" set_config "${configPath}" ".prometheus.bindAddress" "\"0.0.0.0:9311\"" From a7147d469d6df5ba3b8381d129312fb967a718a9 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:25:46 +0100 Subject: [PATCH 03/27] Add autopeering variable --- iota-hornet/prepare_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iota-hornet/prepare_docker.sh b/iota-hornet/prepare_docker.sh index 324b8caf..65f34cb9 100755 --- a/iota-hornet/prepare_docker.sh +++ b/iota-hornet/prepare_docker.sh @@ -54,7 +54,7 @@ set_config "${configPath}" ".p2p.db.path" "\"/app/p2pstore\"" set_config "${configPath}" ".snapshots.fullPath" "\"/app/snapshots/full_snapshot.bin\"" set_config "${configPath}" ".snapshots.deltaPath" "\"/app/snapshots/delta_snapshot.bin\"" set_config "${configPath}" ".pruning.size.targetSize" "\"${HORNET_PRUNING_TARGET_SIZE:-64GB}\"" -set_config "${configPath}" ".p2p.autopeering.enabled" "true" +set_config "${configPath}" ".p2p.autopeering.enabled" "${HORNET_AUTOPEERING_ENABLED:-true}" set_config "${configPath}" ".restAPI.pow.enabled" "${HORNET_POW_ENABLED:-true}" set_config "${configPath}" ".prometheus.enabled" "true" set_config "${configPath}" ".prometheus.bindAddress" "\"0.0.0.0:9311\"" From 476fe51c9038ccf8844363acbaea14b78bf92e24 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:43:46 +0100 Subject: [PATCH 04/27] autopeering ports only open if activated --- node-installer.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 8c7c055d..5d6f0099 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2818,7 +2818,10 @@ IotaHornet() { echo ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' - echo ufw allow '14626/udp' && ufw allow '14626/udp' + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = "true" ]; then + echo ufw allow '14626/udp' && ufw allow '14626/udp' + fi + echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear @@ -3595,7 +3598,9 @@ ShimmerHornet() { echo ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' - echo ufw allow '14626/udp' && ufw allow '14626/udp' + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = "true" ]; then + echo ufw allow '14626/udp' && ufw allow '14626/udp' + fi echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear From 647718b20e565a309b220b3bd456289dda59886b Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:49:32 +0100 Subject: [PATCH 05/27] fix typo --- node-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index 5d6f0099..886ce67f 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -3335,7 +3335,7 @@ ShimmerHornet() { echo "" VAR_HOST=$(cat .env 2>/dev/null | grep HORNET_HOST= | cut -d '=' -f 2) - if [ -z "$VAR_HOST" ]; thenSHIMME + if [ -z "$VAR_HOST" ]; then VAR_HOST=$(echo "$VAR_DOMAIN" | xargs) if [ -n "$VAR_HOST" ]; then echo "Set domain name (global: $ca""$VAR_HOST""$xx):"; echo "Press [Enter] to use global domain:" From 8cc3329f9c9cff3d8e51deabc14e62165d7e5b9c Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 22:54:52 +0100 Subject: [PATCH 06/27] fix typo --- node-installer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 886ce67f..2e698fa2 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2631,7 +2631,7 @@ IotaHornet() { echo '' VAR_IOTA_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) - VAR_DEFAULT='true' # Standardwert für Autopeering + VAR_DEFAULT='true' if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; @@ -3411,7 +3411,7 @@ ShimmerHornet() { echo '' VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) - VAR_DEFAULT='true' # Standardwert für Autopeering + VAR_DEFAULT='true' if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; From 8e5961400df292c3e4d181b21bd5ee63f4bd842f Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Sun, 11 Feb 2024 22:58:52 +0100 Subject: [PATCH 07/27] fix typo --- node-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index 2e698fa2..76cdae09 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -3408,8 +3408,8 @@ ShimmerHornet() { else echo "$rd""Set PoW / proof of work: $VAR_SHIMMER_HORNET_POW""$xx" fi + echo '' - VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then From 5c099ba28a28f6a99c508f22f2f2fe02efa824f0 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Mon, 12 Feb 2024 02:34:00 +0100 Subject: [PATCH 08/27] fix prompt --- node-installer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 2e698fa2..bf722910 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2634,7 +2634,7 @@ IotaHornet() { VAR_DEFAULT='true' if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi - read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; + read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'A' ]; then @@ -3414,7 +3414,7 @@ ShimmerHornet() { VAR_DEFAULT='true' if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi - read -r -p '> Press [A] to enable Proof of Work... Press [X] key to disable... ' VAR_TMP; + read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; if [ -n "$VAR_TMP" ]; then VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_TMP if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'A' ]; then From 57d2b99b48bc99c14fbe1fd1a094470453967244 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Mon, 12 Feb 2024 02:43:07 +0100 Subject: [PATCH 09/27] fix indent lines --- node-installer.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index bf722910..a31825bf 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2633,15 +2633,15 @@ IotaHornet() { VAR_IOTA_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then - echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi + echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; if [ -n "$VAR_TMP" ]; then - VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP - if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'A' ]; then - VAR_IOTA_HORNET_AUTOPEERING='true' - else - VAR_IOTA_HORNET_AUTOPEERING='false' - fi + VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'A' ]; then + VAR_IOTA_HORNET_AUTOPEERING='true' + else + VAR_IOTA_HORNET_AUTOPEERING='false' + fi elif [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_DEFAULT; fi if [ "$VAR_IOTA_HORNET_AUTOPEERING" ]; then @@ -3413,15 +3413,15 @@ ShimmerHornet() { VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then - echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi + echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; if [ -n "$VAR_TMP" ]; then - VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_TMP - if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'A' ]; then - VAR_SHIMMER_HORNET_AUTOPEERING='true' - else - VAR_SHIMMER_HORNET_AUTOPEERING='false' - fi + VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_TMP + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'A' ]; then + VAR_SHIMMER_HORNET_AUTOPEERING='true' + else + VAR_SHIMMER_HORNET_AUTOPEERING='false' + fi elif [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_DEFAULT; fi if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then From 889e2b52bc3d19c2721ce45ec62e9e24d925a603 Mon Sep 17 00:00:00 2001 From: "dlt.green" <89119285+dlt-green@users.noreply.github.com> Date: Mon, 12 Feb 2024 07:06:24 +0100 Subject: [PATCH 10/27] code additions x added autpoeering update for existing installation (=true) x added autpoeering to installation info --- node-installer.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index 1206fc9f..d705368e 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2752,6 +2752,11 @@ IotaHornet() { if [ -f .env ]; then sed -i "s/INX_POI_VERSION=.*/INX_POI_VERSION=$VAR_IOTA_INX_POI_VERSION/g" .env; fi if [ -f .env ]; then sed -i "s/INX_DASHBOARD_VERSION=.*/INX_DASHBOARD_VERSION=$VAR_IOTA_INX_DASHBOARD_VERSION/g" .env; fi + VAR_IOTA_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED | cut -d '=' -f 2) + if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then + echo "HORNET_AUTOPEERING_ENABLED=true" >> .env + fi + VAR_HOST=$(cat .env 2>/dev/null | grep _HOST | cut -d '=' -f 2) fgrep -q "RESTAPI_SALT" .env || echo "RESTAPI_SALT=$VAR_SALT" >> .env fi @@ -2818,11 +2823,11 @@ IotaHornet() { echo ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = "true" ]; then echo ufw allow '14626/udp' && ufw allow '14626/udp' fi - echo "$fl"; PromptMessage "$opt_time" "Press [Enter] / wait [""$opt_time""s] to continue... Press [P] to pause / [C] to cancel"; echo "$xx"; clear clear @@ -2895,6 +2900,8 @@ IotaHornet() { echo "domain name: $VAR_HOST" echo "https port: $VAR_IOTA_HORNET_HTTPS_PORT" echo "-------------------------------------------------------------------------------" + echo "autopeering: $VAR_IOTA_HORNET_AUTOPEERING" + echo "-------------------------------------------------------------------------------" echo "hornet dashboard: https://$VAR_HOST/dashboard" echo "hornet username: $VAR_USERNAME" echo "hornet password: $VAR_PASSWORD" @@ -3532,6 +3539,11 @@ ShimmerHornet() { if [ -f .env ]; then sed -i "s/INX_POI_VERSION=.*/INX_POI_VERSION=$VAR_SHIMMER_INX_POI_VERSION/g" .env; fi if [ -f .env ]; then sed -i "s/INX_DASHBOARD_VERSION=.*/INX_DASHBOARD_VERSION=$VAR_SHIMMER_INX_DASHBOARD_VERSION/g" .env; fi + VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED | cut -d '=' -f 2) + if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then + echo "HORNET_AUTOPEERING_ENABLED=true" >> .env + fi + VAR_HOST=$(cat .env 2>/dev/null | grep _HOST | cut -d '=' -f 2) fgrep -q "RESTAPI_SALT" .env || echo "RESTAPI_SALT=$VAR_SALT" >> .env fi @@ -3598,6 +3610,7 @@ ShimmerHornet() { echo ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = "true" ]; then echo ufw allow '14626/udp' && ufw allow '14626/udp' fi @@ -3674,6 +3687,8 @@ ShimmerHornet() { echo "domain name: $VAR_HOST" echo "https port: $VAR_SHIMMER_HORNET_HTTPS_PORT" echo "-------------------------------------------------------------------------------" + echo "autopeering: $VAR_SHIMMER_HORNET_AUTOPEERING" + echo "-------------------------------------------------------------------------------" echo "hornet dashboard: https://$VAR_HOST/dashboard" echo "hornet username: $VAR_USERNAME" echo "hornet password: $VAR_PASSWORD" From 15d2a16c6d6d6f86e3b37a2fd13399c15aab560c Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Sun, 18 Feb 2024 16:23:08 +0100 Subject: [PATCH 11/27] Update README.md https://discord.com/channels/939875482277662760/944350067375108176/1175817300369227807 --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5bf7b3f..5d8be882 100644 --- a/README.md +++ b/README.md @@ -113,5 +113,7 @@ You get support in our discord from our team or the community # Donations THIS PROJECT IS DEVELOPED BY DLT.GREEN WITH ITS COMMUNITY. YOU CAN SUPPORT THIS PROJECT WITH DONATIONS TO THE DLT.GREEN TREASURY: -https://explorer.iota.org/mainnet/addr/iota1qznzkq2n6kakps36s7w0z0gmuf0p70x647ghqshlfjlumqrld49l7zemavy +IOTA: iota1qq7seed74mzvy9g6nj2nj88pm37gf2x5qv35jcun78n86hyzaqcaggy8ewa +Shimmer: smr1qzp87wkakd22ld6rvcjuwuvn5usevmvut565y6l32xhfucpemu0extkpws0 +Shimmer EVM: 0x6c5ab03b8e4b4f9ec591d211411082a7ab925c05 https://soonaverse.com/member/0x422bed2759f72e7d6ae1e100707ca45e26e9a12c From 70c7762a918393b50637f30578efcced6d59a8b2 Mon Sep 17 00:00:00 2001 From: Ktota Date: Sun, 18 Feb 2024 23:37:16 +0100 Subject: [PATCH 12/27] improved version with saved peers This improved version offers a more intuitive approach to managing auto-peering and configuring static neighbors. To activate auto peering, users can simply press "E" and Enter. To disable auto peering, users can enter static neighbors by pressing the "X" key. The configurations are saved in the .env file using the format "Alias:MultiAddress, ...". When running prepare_docker.sh, the script extracts the configuration data from the .env file and converts it to the peering.json format and also handles spaces and the absence of an alias. This file is then stored in the specified folder to ensure smooth integration into the networks. --- common/scripts/prepare_docker_functions.sh | 31 +++++++ iota-hornet/docker-compose.yml | 1 + iota-hornet/prepare_docker.sh | 4 + node-installer.sh | 96 +++++++++++++++++++--- shimmer-hornet/docker-compose.yml | 1 + shimmer-hornet/prepare_docker.sh | 4 + 6 files changed, 126 insertions(+), 11 deletions(-) diff --git a/common/scripts/prepare_docker_functions.sh b/common/scripts/prepare_docker_functions.sh index f5b64b74..63e36169 100755 --- a/common/scripts/prepare_docker_functions.sh +++ b/common/scripts/prepare_docker_functions.sh @@ -287,3 +287,34 @@ stop_node () { show_logs () { docker compose logs -f --tail 1000 } + +generate_peering_json() { + local peeringFilePath="$1" + local staticNeighbors="$2" + + if [ -z "$staticNeighbors" ]; then + echo -e "No static neighbors defined" + jq -n '{peers: []}' > "$peeringFilePath" + return + fi + echo "Generating peering.json..." + local peersJson="[]" + IFS=',' + for neighbor in $staticNeighbors; do + local cleanedNeighbor=$(echo "$neighbor" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + local alias="" + local multiAddress="" + + if [[ "$cleanedNeighbor" =~ .*:.* ]]; then + alias=$(echo "$cleanedNeighbor" | cut -d ':' -f 1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + multiAddress=$(echo "$cleanedNeighbor" | cut -d ':' -f 2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + else + alias="Node-$(date +%s%N | sha256sum | head -c 8)" + multiAddress="$cleanedNeighbor" + fi + + peersJson=$(jq --arg alias "$alias" --arg multiAddress "$multiAddress" '. += [{"alias": $alias, "multiAddress": $multiAddress}]' <<< "$peersJson") + done + unset IFS + echo "$peersJson" | jq '{peers: .}' > "$peeringFilePath" && echo "${peeringFilePath} successfully generated" || echo "Failed to generate peering.json" +} \ No newline at end of file diff --git a/iota-hornet/docker-compose.yml b/iota-hornet/docker-compose.yml index 7c1b46a7..3873dc4b 100644 --- a/iota-hornet/docker-compose.yml +++ b/iota-hornet/docker-compose.yml @@ -48,6 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" diff --git a/iota-hornet/prepare_docker.sh b/iota-hornet/prepare_docker.sh index 65f34cb9..5cb095c3 100755 --- a/iota-hornet/prepare_docker.sh +++ b/iota-hornet/prepare_docker.sh @@ -12,6 +12,9 @@ dataDir="${HORNET_DATA_DIR:-$scriptDir/data}" configFilenameInContainer="config.json" configFilename="config-${HORNET_NETWORK:-mainnet}.json" configPath="${dataDir}/config/${configFilename}" +peeringFilenameInContainer="peering.json" +peeringFilename="peering-${HORNET_NETWORK:-mainnet}.json" +peeringFilePath="${dataDir}/config/${peeringFilename}" validate_ssl_config "HORNET_SSL_CERT" "HORNET_SSL_KEY" copy_common_assets @@ -66,6 +69,7 @@ set_config_if_present_in_env "${configPath}" "HORNET_PRUNING_MAX_MILESTONES_TO_K if [ ! -z "${HORNET_PRUNING_MAX_MILESTONES_TO_KEEP}" ]; then set_config "${configPath}" ".pruning.milestones.enabled" "true" fi +generate_peering_json "$peeringFilePath" "${HORNET_STATIC_NEIGHBORS:-""}" rm -f "${tmp}" echo "Finished" diff --git a/node-installer.sh b/node-installer.sh index ae34c749..51d73c0f 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2644,23 +2644,60 @@ IotaHornet() { VAR_IOTA_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' if [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then - echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_IOTA_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi - read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; - if [ -n "$VAR_TMP" ]; then + echo "Set autopeering (default: $ca$VAR_DEFAULT$xx):"; echo "Press [Enter] to use default value:" + else + echo "Set autopeering (config: $ca$VAR_IOTA_HORNET_AUTOPEERING$xx)"; echo "Press [Enter] to use existing config:" + fi + read -r -p '> Press [E] to enable Autopeering... Press [X] key to disable... ' VAR_TMP; + if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP - if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'A' ]; then + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'e' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'E' ]; then VAR_IOTA_HORNET_AUTOPEERING='true' else VAR_IOTA_HORNET_AUTOPEERING='false' - fi + fi elif [ -z "$VAR_IOTA_HORNET_AUTOPEERING" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_DEFAULT; fi - if [ "$VAR_IOTA_HORNET_AUTOPEERING" ]; then + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'true' ]; then echo "$gn""Set autopeering: $VAR_IOTA_HORNET_AUTOPEERING""$xx" else echo "$rd""Set autopeering: $VAR_IOTA_HORNET_AUTOPEERING""$xx" fi + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'false' ]; then + echo '' + VAR_DEFAULT_STATIC_NEIGHBORS='' + VAR_IOTA_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) + + if [ -n "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then + echo "Set static neighbor(s):" + echo "(config: static neighbor(s):" + echo "$ca""$VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' + echo ')' + echo '' + echo "Press [Enter] to confirm the above static neighbors or enter new ones (alias:multiAddress,):" + read -r STATIC_NEIGHBORS_INPUT + else + echo "Set static neighbor(s):" + echo "No static neighbors configured. Please enter static neighbors (alias:multiAddress,):" + read -r STATIC_NEIGHBORS_INPUT + fi + + STATIC_NEIGHBORS_INPUT=$(echo "$STATIC_NEIGHBORS_INPUT" | tr -d ' ') + + if [ -n "$STATIC_NEIGHBORS_INPUT" ]; then + VAR_IOTA_HORNET_STATIC_NEIGHBORS=$STATIC_NEIGHBORS_INPUT + elif [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then + VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT_STATIC_NEIGHBORS + fi + + if [ -n "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then + echo '' + echo "New static neighbor(s):" + echo "$gn""$VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' + fi + fi + echo '' VAR_USERNAME=$(cat .env 2>/dev/null | grep DASHBOARD_USERNAME= | cut -d '=' -f 2) VAR_DEFAULT=$(cat /dev/urandom | tr -dc '[:alpha:]' | fold -w "${1:-10}" | head -n 1); @@ -2713,6 +2750,7 @@ IotaHornet() { echo "HORNET_HTTPS_PORT=$VAR_IOTA_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_IOTA_HORNET_AUTOPEERING" >> .env + echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env echo "RESTAPI_SALT=$VAR_SALT" >> .env @@ -3431,23 +3469,58 @@ ShimmerHornet() { VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' if [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then - echo "Set autopeering (default: $ca"$VAR_DEFAULT"$xx):"; echo "Press [Enter] to use default value:"; else echo "Set autopeering (config: $ca""$VAR_SHIMMER_HORNET_AUTOPEERING""$xx)"; echo "Press [Enter] to use existing config:"; fi - read -r -p '> Press [A] to enable autopeering... Press [X] key to disable... ' VAR_TMP; + echo "Set autopeering (default: $ca$VAR_DEFAULT$xx):"; echo "Press [Enter] to use default value:" + else + echo "Set autopeering (config: $ca$VAR_SHIMMER_HORNET_AUTOPEERING$xx)"; echo "Press [Enter] to use existing config:" + fi + read -r -p '> Press [E] to enable Autopeering... Press [X] key to disable... ' VAR_TMP; if [ -n "$VAR_TMP" ]; then VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_TMP - if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'a' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'A' ]; then + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'e' ] || [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'E' ]; then VAR_SHIMMER_HORNET_AUTOPEERING='true' else VAR_SHIMMER_HORNET_AUTOPEERING='false' - fi + fi elif [ -z "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then VAR_SHIMMER_HORNET_AUTOPEERING=$VAR_DEFAULT; fi - if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" ]; then + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'true' ]; then echo "$gn""Set autopeering: $VAR_SHIMMER_HORNET_AUTOPEERING""$xx" else echo "$rd""Set autopeering: $VAR_SHIMMER_HORNET_AUTOPEERING""$xx" fi + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'false' ]; then + echo '' + VAR_DEFAULT_STATIC_NEIGHBORS='' + VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) + + if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then + echo "Set static neighbor(s):" + echo "(config: static neighbor(s):" + echo "$ca""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' + echo ')' + echo '' + echo "Press [Enter] to confirm the above static neighbors or enter new ones (alias:multiAddress,):" + read -r STATIC_NEIGHBORS_INPUT + else + echo "Set static neighbor(s):" + echo "No static neighbors configured. Please enter static neighbors (alias:multiAddress,):" + read -r STATIC_NEIGHBORS_INPUT + fi + + STATIC_NEIGHBORS_INPUT=$(echo "$STATIC_NEIGHBORS_INPUT" | tr -d ' ') + if [ -n "$STATIC_NEIGHBORS_INPUT" ]; then + VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$STATIC_NEIGHBORS_INPUT + elif [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then + VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT_STATIC_NEIGHBORS + fi + if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then + echo '' + echo "New static neighbor(s):" + echo "$gn""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' + fi + fi + echo '' VAR_USERNAME=$(cat .env 2>/dev/null | grep DASHBOARD_USERNAME= | cut -d '=' -f 2) VAR_DEFAULT=$(cat /dev/urandom | tr -dc '[:alpha:]' | fold -w "${1:-10}" | head -n 1); @@ -3500,6 +3573,7 @@ ShimmerHornet() { echo "HORNET_HTTPS_PORT=$VAR_SHIMMER_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_SHIMMER_HORNET_AUTOPEERING" >> .env + echo "HORNET_STATIC_NEIGHBORS=$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env echo "RESTAPI_SALT=$VAR_SALT" >> .env diff --git a/shimmer-hornet/docker-compose.yml b/shimmer-hornet/docker-compose.yml index 451b4e2c..4965efc7 100644 --- a/shimmer-hornet/docker-compose.yml +++ b/shimmer-hornet/docker-compose.yml @@ -48,6 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" diff --git a/shimmer-hornet/prepare_docker.sh b/shimmer-hornet/prepare_docker.sh index 87c691d7..eac3fb97 100755 --- a/shimmer-hornet/prepare_docker.sh +++ b/shimmer-hornet/prepare_docker.sh @@ -12,6 +12,9 @@ dataDir="${HORNET_DATA_DIR:-$scriptDir/data}" configFilenameInContainer="config.json" configFilename="config-${HORNET_NETWORK:-mainnet}.json" configPath="${dataDir}/config/${configFilename}" +peeringFilenameInContainer="peering.json" +peeringFilename="peering-${HORNET_NETWORK:-mainnet}.json" +peeringFilePath="${dataDir}/config/${peeringFilename}" validate_ssl_config "HORNET_SSL_CERT" "HORNET_SSL_KEY" copy_common_assets @@ -66,6 +69,7 @@ set_config_if_present_in_env "${configPath}" "HORNET_PRUNING_MAX_MILESTONES_TO_K if [ ! -z "${HORNET_PRUNING_MAX_MILESTONES_TO_KEEP}" ]; then set_config "${configPath}" ".pruning.milestones.enabled" "true" fi +generate_peering_json "$peeringFilePath" "${HORNET_STATIC_NEIGHBORS:-""}" rm -f "${tmp}" echo "Finished" From cd3490032cf88872a2ab669d7d32579a9172143c Mon Sep 17 00:00:00 2001 From: Ktota Date: Sun, 18 Feb 2024 23:56:40 +0100 Subject: [PATCH 13/27] Update node-installer.sh --- node-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index 51d73c0f..e65aabd3 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2649,7 +2649,7 @@ IotaHornet() { echo "Set autopeering (config: $ca$VAR_IOTA_HORNET_AUTOPEERING$xx)"; echo "Press [Enter] to use existing config:" fi read -r -p '> Press [E] to enable Autopeering... Press [X] key to disable... ' VAR_TMP; - if [ -n "$VAR_TMP" ]; then + if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_AUTOPEERING=$VAR_TMP if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'e' ] || [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'E' ]; then VAR_IOTA_HORNET_AUTOPEERING='true' From 4408fc9301d647ea93fcb544127392fb3f59e8b8 Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 06:16:08 +0100 Subject: [PATCH 14/27] installer: update format input (see standard input values) --- node-installer.sh | 75 ++++++++++------------------------------------- 1 file changed, 16 insertions(+), 59 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index e65aabd3..0394e78f 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2665,37 +2665,14 @@ IotaHornet() { fi if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'false' ]; then - echo '' - VAR_DEFAULT_STATIC_NEIGHBORS='' - VAR_IOTA_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) - - if [ -n "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then - echo "Set static neighbor(s):" - echo "(config: static neighbor(s):" - echo "$ca""$VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' - echo ')' - echo '' - echo "Press [Enter] to confirm the above static neighbors or enter new ones (alias:multiAddress,):" - read -r STATIC_NEIGHBORS_INPUT - else - echo "Set static neighbor(s):" - echo "No static neighbors configured. Please enter static neighbors (alias:multiAddress,):" - read -r STATIC_NEIGHBORS_INPUT - fi - - STATIC_NEIGHBORS_INPUT=$(echo "$STATIC_NEIGHBORS_INPUT" | tr -d ' ') - - if [ -n "$STATIC_NEIGHBORS_INPUT" ]; then - VAR_IOTA_HORNET_STATIC_NEIGHBORS=$STATIC_NEIGHBORS_INPUT - elif [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then - VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT_STATIC_NEIGHBORS - fi - - if [ -n "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then - echo '' - echo "New static neighbor(s):" - echo "$gn""$VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' - fi + echo '' + VAR_IOTA_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) + VAR_DEFAULT=''; + if [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then + echo "Set static neighbor(s):"; echo "Press [Enter] to use default value:"; else echo "Set static neighbor(s) (config: $ca""$VAR_IOTA_HORNET_STATIC_NEIGHBORS | tr ',' '\n'""$xx)"; echo "Press [Enter] to use existing config:"; fi + read -r -p '> ' VAR_TMP + if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT; fi + echo "$gn""Set static neighbor(s): $VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" fi echo '' @@ -3490,35 +3467,15 @@ ShimmerHornet() { fi if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'false' ]; then - echo '' - VAR_DEFAULT_STATIC_NEIGHBORS='' - VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) - - if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then - echo "Set static neighbor(s):" - echo "(config: static neighbor(s):" - echo "$ca""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' - echo ')' - echo '' - echo "Press [Enter] to confirm the above static neighbors or enter new ones (alias:multiAddress,):" - read -r STATIC_NEIGHBORS_INPUT - else - echo "Set static neighbor(s):" - echo "No static neighbors configured. Please enter static neighbors (alias:multiAddress,):" - read -r STATIC_NEIGHBORS_INPUT - fi - STATIC_NEIGHBORS_INPUT=$(echo "$STATIC_NEIGHBORS_INPUT" | tr -d ' ') - if [ -n "$STATIC_NEIGHBORS_INPUT" ]; then - VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$STATIC_NEIGHBORS_INPUT - elif [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then - VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT_STATIC_NEIGHBORS - fi - if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then - echo '' - echo "New static neighbor(s):" - echo "$gn""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" | tr ',' '\n' - fi + echo '' + VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) + VAR_DEFAULT=''; + if [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then + echo "Set static neighbor(s):"; echo "Press [Enter] to use default value:"; else echo "Set static neighbor(s) (config: $ca""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS | tr ',' '\n'""$xx)"; echo "Press [Enter] to use existing config:"; fi + read -r -p '> ' VAR_TMP + if [ -n "$VAR_TMP" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT; fi + echo "$gn""Set static neighbor(s): $VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" fi echo '' From 42f5dd28a8bd9667ee644475e5285dc95e2c5745 Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 06:17:11 +0100 Subject: [PATCH 15/27] installer: only insert static neighbors when not empty --- node-installer.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 0394e78f..743b9856 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2727,8 +2727,10 @@ IotaHornet() { echo "HORNET_HTTPS_PORT=$VAR_IOTA_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_IOTA_HORNET_AUTOPEERING" >> .env - echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env + if [ -n "$HORNET_STATIC_NEIGHBORS" ]; then + echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env + fi echo "RESTAPI_SALT=$VAR_SALT" >> .env if [ "$VAR_CERT" = 0 ] @@ -3530,8 +3532,10 @@ ShimmerHornet() { echo "HORNET_HTTPS_PORT=$VAR_SHIMMER_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_SHIMMER_HORNET_AUTOPEERING" >> .env - echo "HORNET_STATIC_NEIGHBORS=$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" >> .env echo "HORNET_AUTOPEERING_PORT=14626" >> .env + if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then + echo "HORNET_STATIC_NEIGHBORS=$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" >> .env + fi echo "RESTAPI_SALT=$VAR_SALT" >> .env if [ "$VAR_CERT" = 0 ] From 144444b805edc0987411464202e5e5ce501aa9de Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 06:18:09 +0100 Subject: [PATCH 16/27] installer: only set autopeering port when autopeering=true --- node-installer.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 743b9856..5ecfd570 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2727,7 +2727,11 @@ IotaHornet() { echo "HORNET_HTTPS_PORT=$VAR_IOTA_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_IOTA_HORNET_AUTOPEERING" >> .env - echo "HORNET_AUTOPEERING_PORT=14626" >> .env + + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'true' ]; then + echo "HORNET_AUTOPEERING_PORT=14626" >> .env + fi + if [ -n "$HORNET_STATIC_NEIGHBORS" ]; then echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env fi @@ -3532,7 +3536,11 @@ ShimmerHornet() { echo "HORNET_HTTPS_PORT=$VAR_SHIMMER_HORNET_HTTPS_PORT" >> .env echo "HORNET_GOSSIP_PORT=15600" >> .env echo "HORNET_AUTOPEERING_ENABLED=$VAR_SHIMMER_HORNET_AUTOPEERING" >> .env - echo "HORNET_AUTOPEERING_PORT=14626" >> .env + + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = 'true' ]; then + echo "HORNET_AUTOPEERING_PORT=14626" >> .env + fi + if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then echo "HORNET_STATIC_NEIGHBORS=$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" >> .env fi From 8403c3e77c7dcf3f7591b601b7a22ab150aa7fe7 Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 06:19:07 +0100 Subject: [PATCH 17/27] installer: delete inserted empty lines --- node-installer.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 5ecfd570..792d46b5 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2735,6 +2735,7 @@ IotaHornet() { if [ -n "$HORNET_STATIC_NEIGHBORS" ]; then echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env fi + echo "RESTAPI_SALT=$VAR_SALT" >> .env if [ "$VAR_CERT" = 0 ] @@ -2855,7 +2856,7 @@ IotaHornet() { echo ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_IOTA_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' - + if [ "$VAR_IOTA_HORNET_AUTOPEERING" = "true" ]; then echo ufw allow '14626/udp' && ufw allow '14626/udp' fi @@ -3447,7 +3448,7 @@ ShimmerHornet() { else echo "$rd""Set PoW / proof of work: $VAR_SHIMMER_HORNET_POW""$xx" fi - + echo '' VAR_SHIMMER_HORNET_AUTOPEERING=$(cat .env 2>/dev/null | grep HORNET_AUTOPEERING_ENABLED= | cut -d '=' -f 2) VAR_DEFAULT='true' @@ -3544,6 +3545,7 @@ ShimmerHornet() { if [ -n "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then echo "HORNET_STATIC_NEIGHBORS=$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" >> .env fi + echo "RESTAPI_SALT=$VAR_SALT" >> .env if [ "$VAR_CERT" = 0 ] @@ -3664,7 +3666,7 @@ ShimmerHornet() { echo ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" && ufw allow "$VAR_SHIMMER_HORNET_HTTPS_PORT/tcp" echo ufw allow '15600/tcp' && ufw allow '15600/tcp' - + if [ "$VAR_SHIMMER_HORNET_AUTOPEERING" = "true" ]; then echo ufw allow '14626/udp' && ufw allow '14626/udp' fi From 4abcacb2ed0c1ed218dd44316aaf66343f48b838 Mon Sep 17 00:00:00 2001 From: "dlt.green" <89119285+dlt-green@users.noreply.github.com> Date: Mon, 19 Feb 2024 08:40:53 +0100 Subject: [PATCH 18/27] installer: fix iota var static neighbors --- node-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index 792d46b5..006a7ef4 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2732,7 +2732,7 @@ IotaHornet() { echo "HORNET_AUTOPEERING_PORT=14626" >> .env fi - if [ -n "$HORNET_STATIC_NEIGHBORS" ]; then + if [ -n "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then echo "HORNET_STATIC_NEIGHBORS=$VAR_IOTA_HORNET_STATIC_NEIGHBORS" >> .env fi From d637cd06d85b6618bf025ce7d40764ebec5bd4b8 Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 17:13:49 +0100 Subject: [PATCH 19/27] installer: update input static neighbor(s) --- node-installer.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 006a7ef4..25e512d3 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -2667,12 +2667,12 @@ IotaHornet() { if [ "$VAR_IOTA_HORNET_AUTOPEERING" = 'false' ]; then echo '' VAR_IOTA_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) - VAR_DEFAULT=''; + VAR_DEFAULT='{nodeName}:/dns/{nodeURL}/tcp/15600/p2p/{nodeId},...'; if [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then - echo "Set static neighbor(s):"; echo "Press [Enter] to use default value:"; else echo "Set static neighbor(s) (config: $ca""$VAR_IOTA_HORNET_STATIC_NEIGHBORS | tr ',' '\n'""$xx)"; echo "Press [Enter] to use existing config:"; fi + echo "Set static neighbor(s) (template: $ca""$VAR_DEFAULT""$xx):"; else echo "Set static neighbor(s) (config: ""$ca""\n""$(echo "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" | tr ',' '\n')""\n""$xx)"; echo "Press [Enter] to use existing config (template: $ca""$VAR_DEFAULT""$xx):"; fi read -r -p '> ' VAR_TMP - if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT; fi - echo "$gn""Set static neighbor(s): $VAR_IOTA_HORNET_STATIC_NEIGHBORS""$xx" + if [ -n "$VAR_TMP" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" ]; then VAR_IOTA_HORNET_STATIC_NEIGHBORS=''; fi + echo "$gn""Set static neighbor(s): ""\n""$(echo "$VAR_IOTA_HORNET_STATIC_NEIGHBORS" | tr ',' '\n')""$xx" fi echo '' @@ -3477,12 +3477,12 @@ ShimmerHornet() { echo '' VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$(cat .env 2>/dev/null | grep HORNET_STATIC_NEIGHBORS= | cut -d '=' -f 2) - VAR_DEFAULT=''; + VAR_DEFAULT='{nodeName}:/dns/{nodeURL}/tcp/15600/p2p/{nodeId},...'; if [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then - echo "Set static neighbor(s):"; echo "Press [Enter] to use default value:"; else echo "Set static neighbor(s) (config: $ca""$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS | tr ',' '\n'""$xx)"; echo "Press [Enter] to use existing config:"; fi + echo "Set static neighbor(s) (template: $ca""$VAR_DEFAULT""$xx):"; else echo "Set static neighbor(s) (config: ""$ca""\n""$(echo "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" | tr ',' '\n')""\n""$xx)"; echo "Press [Enter] to use existing config (template: $ca""$VAR_DEFAULT""$xx):"; fi read -r -p '> ' VAR_TMP - if [ -n "$VAR_TMP" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_DEFAULT; fi - echo "$gn""Set static neighbor(s): $VAR_SHIMMER_HORNET_STATIC_NEIGHBORS""$xx" + if [ -n "$VAR_TMP" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=$VAR_TMP; elif [ -z "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" ]; then VAR_SHIMMER_HORNET_STATIC_NEIGHBORS=''; fi + echo "$gn""Set static neighbor(s): ""\n""$(echo "$VAR_SHIMMER_HORNET_STATIC_NEIGHBORS" | tr ',' '\n')""$xx" fi echo '' From f8df28d34c8af86586e33c32f305498e2fa09505 Mon Sep 17 00:00:00 2001 From: "dlt.green" Date: Mon, 19 Feb 2024 19:36:39 +0100 Subject: [PATCH 20/27] installer: bc: fix unit "," -> "." --- node-installer.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 25e512d3..f2652acd 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -377,7 +377,7 @@ FormatToBytes() { unset bytes; if [ -n "$1" ]; then unit=$(echo "$1" | sed -e 's/[^a-zA-Z_]//g' | tr '[:lower:]' '[:upper:]'); - value=$(echo "$1" | sed -e "s/$unit//g"); + value=$(echo "$1" | sed -e "s/$unit//g" | sed "s/,/./g"); case $unit in KB) bytes=$(echo "$value*1024" | bc);; @@ -395,8 +395,9 @@ FormatToBytes() { FormatFromBytes() { unset fbytes; if [ -n "$1" ]; then - fbytes=$(numfmt --to iec --format "%8f" "$1")B; - fbytes=$(echo "$fbytes" | sed 's/ *$//g'); + fbytes=$(echo "$1" | cut -d '.' -f 1); + fbytes=$(numfmt --to iec --format "%8f" "$fbytes")B; + fbytes=$(echo "$fbytes" | sed 's/ *$//g' | sed 's/ //g'); fi } From 018413417e965edce2e0b9433ce5222d1b1e1e39 Mon Sep 17 00:00:00 2001 From: "dlt.green" <89119285+dlt-green@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:40:23 +0100 Subject: [PATCH 21/27] wasp: update 1.0.2-rc.1 --- node-installer.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index f2652acd..c69e6ea4 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -14,11 +14,11 @@ VAR_CONF_RESET=0 VAR_IOTA_HORNET_VERSION='2.0.1' VAR_IOTA_HORNET_UPDATE=1 -VAR_IOTA_WASP_VERSION='1.0.2-alpha.4' +VAR_IOTA_WASP_VERSION='1.0.2-rc.1' VAR_IOTA_WASP_UPDATE=1 VAR_IOTA_WASP_DASHBOARD_VERSION='0.1.9' -VAR_IOTA_WASP_CLI_VERSION='1.0.2-alpha.4' +VAR_IOTA_WASP_CLI_VERSION='1.0.2-rc.1' VAR_IOTA_INX_INDEXER_VERSION='1.0' VAR_IOTA_INX_MQTT_VERSION='1.0' @@ -30,11 +30,11 @@ VAR_IOTA_INX_DASHBOARD_VERSION='1.0' VAR_SHIMMER_HORNET_VERSION='2.0.0-rc.8' VAR_SHIMMER_HORNET_UPDATE=1 -VAR_SHIMMER_WASP_VERSION='1.0.2-alpha.4' +VAR_SHIMMER_WASP_VERSION='1.0.2-rc.1' VAR_SHIMMER_WASP_UPDATE=1 VAR_SHIMMER_WASP_DASHBOARD_VERSION='0.1.9' -VAR_SHIMMER_WASP_CLI_VERSION='1.0.2-alpha.4' +VAR_SHIMMER_WASP_CLI_VERSION='1.0.2-rc.1' VAR_SHIMMER_INX_INDEXER_VERSION='1.0-rc' VAR_SHIMMER_INX_MQTT_VERSION='1.0-rc' From e11949541bf33283c5c990e53164f7387611863b Mon Sep 17 00:00:00 2001 From: Tito Bogenlos Date: Tue, 20 Feb 2024 16:33:50 +0000 Subject: [PATCH 22/27] manual peering: Fixed some minor things. --- common/scripts/prepare_docker_functions.sh | 4 ++ iota-hornet/README.md | 58 +++++++++++----------- iota-hornet/docker-compose.yml | 2 +- iota-hornet/prepare_docker.sh | 1 - shimmer-hornet/README.md | 2 + shimmer-hornet/docker-compose.yml | 2 +- shimmer-hornet/prepare_docker.sh | 1 - 7 files changed, 38 insertions(+), 32 deletions(-) diff --git a/common/scripts/prepare_docker_functions.sh b/common/scripts/prepare_docker_functions.sh index 63e36169..683fe611 100755 --- a/common/scripts/prepare_docker_functions.sh +++ b/common/scripts/prepare_docker_functions.sh @@ -292,6 +292,10 @@ generate_peering_json() { local peeringFilePath="$1" local staticNeighbors="$2" + if [ -d "$peeringFilePath" ]; then + rm -Rf "$peeringFilePath" + fi + if [ -z "$staticNeighbors" ]; then echo -e "No static neighbors defined" jq -n '{peers: []}' > "$peeringFilePath" diff --git a/iota-hornet/README.md b/iota-hornet/README.md index e41deecf..56f84c30 100644 --- a/iota-hornet/README.md +++ b/iota-hornet/README.md @@ -34,6 +34,7 @@ HORNET_HOST=node.your-domain.com # HORNET_PRUNING_TARGET_SIZE=64GB # HORNET_PRUNING_MAX_MILESTONES_TO_KEEP=60480 # HORNET_POW_ENABLED=false +# HORNET_STATIC_NEIGHBORS=my-alias:/ip4/127.0.0.1/tcp/15600/p2p/12D3KooWCKWcTWevORKa2KEBputEGASvEBuDfRDSbe8t1DWugUmL # DASHBOARD_USERNAME=admin DASHBOARD_PASSWORD=0000000000000000000000000000000000000000000000000000000000000000 @@ -49,31 +50,32 @@ INX_POI_VERSION=1.0.0-beta.5 INX_DASHBOARD_VERSION=1.0.0-beta.5 ``` -| Parameter | Mandatory | Default | Description | -| ------------------------------------- | :-------: | :-------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| HORNET_VERSION | x | | Version of `iotaledger/hornet` docker image to use | -| HORNET_NETWORK | | mainnet | Allowed values: `mainnet`, `testnet` | -| HORNET_NODE_ALIAS | | HORNET node | Node alias | -| HORNET_HOST | x | | Host domain name e.g. `hornet.dlt.green` | -| HORNET_HTTP_PORT | | 80 | HTTP port to access dashboard and api. Must be 80 if letsencrypt is used. | -| HORNET_HTTPS_PORT | | 443 | HTTPS port to access dashboard and api | -| HORNET_GOSSIP_PORT | | 15600 | Gossip port | -| HORNET_AUTOPEERING_PORT | | 14626 | Autopeering port | -| HORNET_DATA_DIR | | .data | Directory containing configuration, database, snapshots etc. | -| HORNET_PRUNING_TARGET_SIZE | | 64GB | Target size of database | -| HORNET_PRUNING_MAX_MILESTONES_TO_KEEP | | 60480 | Max umber of milestones to keep in database. Milestone pruning is disabled by default. It's activated if this parameter is set. | -| HORNET_POW_ENABLED | | false | Whether the node does PoW if messages are received via API | -| DASHBOARD_USERNAME | | admin | Username to access dashboard | -| DASHBOARD_PASSWORD | x | | Password hash (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | -| DASHBOARD_SALT | x | | Password salt (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | -| RESTAPI_SALT | | | Some random secret string used to generate (and validate) JWT tokens. If not given a random string is generated by `prepare_docker.sh` for security reasons | -| SSL_CONFIG | | letsencrypt | Allowed values: `certs`, `letsencrypt`. Default: `letsencrypt`. If set to certs `HORNET_SSL_CERT` and `HORNET_SSL_KEY` are used otherwise letsencrypt is used by default. | -| HORNET_SSL_CERT | (x) | | Absolute path to SSL certificate (mandatory if `SSL_CONFIG=certs`) | -| HORNET_SSL_KEY | (x) | | Absolute path to SSL private key (mandatory if `SSL_CONFIG=certs`) | -| ACME_EMAIL | (x) | | Mail address used to fetch SSL certificate from letsencrypt (mandatory if `SSL_CONFIG` not set or is set to `letsencrypt`). | -| INX_INDEXER_VERSION | x | | Version of `iotaledger/inx-indexer` docker image to use | -| INX_MQTT_VERSION | x | | Version of `iotaledger/inx-mqtt` docker image to use | -| INX_PARTICIPATION_VERSION | x | | Version of `iotaledger/inx-participation` docker image to use | -| INX_SPAMMER_VERSION | x | | Version of `iotaledger/inx-spammer` docker image to use | -| INX_POI_VERSION | x | | Version of `iotaledger/inx-poi` docker image to use | -| INX_DASHBOARD_VERSION | x | | Version of `iotaledger/inx-dashboard` docker image to use | +| Parameter | Mandatory | Default | Description | +|---------------------------------------|:---------:|:---------------:|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| HORNET_VERSION | x | | Version of `iotaledger/hornet` docker image to use | +| HORNET_NETWORK | | mainnet | Allowed values: `mainnet`, `testnet` | +| HORNET_NODE_ALIAS | | HORNET node | Node alias | +| HORNET_HOST | x | | Host domain name e.g. `hornet.dlt.green` | +| HORNET_HTTP_PORT | | 80 | HTTP port to access dashboard and api. Must be 80 if letsencrypt is used. | +| HORNET_HTTPS_PORT | | 443 | HTTPS port to access dashboard and api | +| HORNET_GOSSIP_PORT | | 15600 | Gossip port | +| HORNET_AUTOPEERING_PORT | | 14626 | Autopeering port | +| HORNET_DATA_DIR | | .data | Directory containing configuration, database, snapshots etc. | +| HORNET_PRUNING_TARGET_SIZE | | 64GB | Target size of database | +| HORNET_PRUNING_MAX_MILESTONES_TO_KEEP | | 60480 | Max umber of milestones to keep in database. Milestone pruning is disabled by default. It's activated if this parameter is set. | +| HORNET_POW_ENABLED | | false | Whether the node does PoW if messages are received via API | +| HORNET_STATIC_NEIGHBORS | | | Comma separated list of static neighbors. Format example: `my-alias:/ip4/127.0.0.1/tcp/15600/p2p/12D3KooWCKWcTWevORKa2KEBputEGASvEBuDfRDSbe8t1DWugUmL` (see [docs](https://wiki.iota.org/hornet/references/peering/) for further infos) | +| DASHBOARD_USERNAME | | admin | Username to access dashboard | +| DASHBOARD_PASSWORD | x | | Password hash (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | +| DASHBOARD_SALT | x | | Password salt (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | +| RESTAPI_SALT | | | Some random secret string used to generate (and validate) JWT tokens. If not given a random string is generated by `prepare_docker.sh` for security reasons | +| SSL_CONFIG | | letsencrypt | Allowed values: `certs`, `letsencrypt`. Default: `letsencrypt`. If set to certs `HORNET_SSL_CERT` and `HORNET_SSL_KEY` are used otherwise letsencrypt is used by default. | +| HORNET_SSL_CERT | (x) | | Absolute path to SSL certificate (mandatory if `SSL_CONFIG=certs`) | +| HORNET_SSL_KEY | (x) | | Absolute path to SSL private key (mandatory if `SSL_CONFIG=certs`) | +| ACME_EMAIL | (x) | | Mail address used to fetch SSL certificate from letsencrypt (mandatory if `SSL_CONFIG` not set or is set to `letsencrypt`). | +| INX_INDEXER_VERSION | x | | Version of `iotaledger/inx-indexer` docker image to use | +| INX_MQTT_VERSION | x | | Version of `iotaledger/inx-mqtt` docker image to use | +| INX_PARTICIPATION_VERSION | x | | Version of `iotaledger/inx-participation` docker image to use | +| INX_SPAMMER_VERSION | x | | Version of `iotaledger/inx-spammer` docker image to use | +| INX_POI_VERSION | x | | Version of `iotaledger/inx-poi` docker image to use | +| INX_DASHBOARD_VERSION | x | | Version of `iotaledger/inx-dashboard` docker image to use | diff --git a/iota-hornet/docker-compose.yml b/iota-hornet/docker-compose.yml index 3873dc4b..d1d00a5e 100644 --- a/iota-hornet/docker-compose.yml +++ b/iota-hornet/docker-compose.yml @@ -48,7 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" - - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json:ro" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" diff --git a/iota-hornet/prepare_docker.sh b/iota-hornet/prepare_docker.sh index 5cb095c3..747bd24a 100755 --- a/iota-hornet/prepare_docker.sh +++ b/iota-hornet/prepare_docker.sh @@ -12,7 +12,6 @@ dataDir="${HORNET_DATA_DIR:-$scriptDir/data}" configFilenameInContainer="config.json" configFilename="config-${HORNET_NETWORK:-mainnet}.json" configPath="${dataDir}/config/${configFilename}" -peeringFilenameInContainer="peering.json" peeringFilename="peering-${HORNET_NETWORK:-mainnet}.json" peeringFilePath="${dataDir}/config/${peeringFilename}" diff --git a/shimmer-hornet/README.md b/shimmer-hornet/README.md index e41deecf..f7124bc1 100644 --- a/shimmer-hornet/README.md +++ b/shimmer-hornet/README.md @@ -34,6 +34,7 @@ HORNET_HOST=node.your-domain.com # HORNET_PRUNING_TARGET_SIZE=64GB # HORNET_PRUNING_MAX_MILESTONES_TO_KEEP=60480 # HORNET_POW_ENABLED=false +# HORNET_STATIC_NEIGHBORS=my-alias:/ip4/127.0.0.1/tcp/15600/p2p/12D3KooWCKWcTWevORKa2KEBputEGASvEBuDfRDSbe8t1DWugUmL # DASHBOARD_USERNAME=admin DASHBOARD_PASSWORD=0000000000000000000000000000000000000000000000000000000000000000 @@ -63,6 +64,7 @@ INX_DASHBOARD_VERSION=1.0.0-beta.5 | HORNET_PRUNING_TARGET_SIZE | | 64GB | Target size of database | | HORNET_PRUNING_MAX_MILESTONES_TO_KEEP | | 60480 | Max umber of milestones to keep in database. Milestone pruning is disabled by default. It's activated if this parameter is set. | | HORNET_POW_ENABLED | | false | Whether the node does PoW if messages are received via API | +| HORNET_STATIC_NEIGHBORS | | | Comma separated list of static neighbors. Format example: `my-alias:/ip4/127.0.0.1/tcp/15600/p2p/12D3KooWCKWcTWevORKa2KEBputEGASvEBuDfRDSbe8t1DWugUmL` (see [docs](https://wiki.iota.org/hornet/references/peering/) for further infos) | | DASHBOARD_USERNAME | | admin | Username to access dashboard | | DASHBOARD_PASSWORD | x | | Password hash (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | | DASHBOARD_SALT | x | | Password salt (can be generated with `docker compose run hornet tool pwd-hash` or non-interactively with `docker compose run hornet tool pwd-hash --json --password `) | diff --git a/shimmer-hornet/docker-compose.yml b/shimmer-hornet/docker-compose.yml index 4965efc7..793640f0 100644 --- a/shimmer-hornet/docker-compose.yml +++ b/shimmer-hornet/docker-compose.yml @@ -48,7 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" - - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json:ro" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" diff --git a/shimmer-hornet/prepare_docker.sh b/shimmer-hornet/prepare_docker.sh index eac3fb97..c839eccb 100755 --- a/shimmer-hornet/prepare_docker.sh +++ b/shimmer-hornet/prepare_docker.sh @@ -12,7 +12,6 @@ dataDir="${HORNET_DATA_DIR:-$scriptDir/data}" configFilenameInContainer="config.json" configFilename="config-${HORNET_NETWORK:-mainnet}.json" configPath="${dataDir}/config/${configFilename}" -peeringFilenameInContainer="peering.json" peeringFilename="peering-${HORNET_NETWORK:-mainnet}.json" peeringFilePath="${dataDir}/config/${peeringFilename}" From 265521f30d875cddd1c8c0b6c363d29d0eed3f97 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:16:31 +0100 Subject: [PATCH 23/27] fix peering.json path --- shimmer-hornet/docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shimmer-hornet/docker-compose.yml b/shimmer-hornet/docker-compose.yml index 793640f0..dc50881a 100644 --- a/shimmer-hornet/docker-compose.yml +++ b/shimmer-hornet/docker-compose.yml @@ -48,7 +48,8 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" - - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json:ro" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/ +/peering.json:ro" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" From 52695a9bf21236e96db444f658101557dd887613 Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:17:34 +0100 Subject: [PATCH 24/27] fix peering.json path --- iota-hornet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iota-hornet/docker-compose.yml b/iota-hornet/docker-compose.yml index d1d00a5e..f08940fa 100644 --- a/iota-hornet/docker-compose.yml +++ b/iota-hornet/docker-compose.yml @@ -48,7 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" - - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/config/peering.json:ro" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/peering.json:ro" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" From 0d44c5d1267098fb19c6e20c530e781c51e6ae6c Mon Sep 17 00:00:00 2001 From: Ktota <109756198+0xKtota@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:21:03 +0100 Subject: [PATCH 25/27] fix peering.json path --- shimmer-hornet/docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/shimmer-hornet/docker-compose.yml b/shimmer-hornet/docker-compose.yml index dc50881a..1bd147d2 100644 --- a/shimmer-hornet/docker-compose.yml +++ b/shimmer-hornet/docker-compose.yml @@ -48,8 +48,7 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" - "${HORNET_DATA_DIR:-./data}/config/config-${HORNET_NETWORK:-mainnet}.json:/app/config/config.json:ro" - - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/ -/peering.json:ro" + - "${HORNET_DATA_DIR:-./data}/config/peering-${HORNET_NETWORK:-mainnet}.json:/app/peering.json:ro" - "${HORNET_DATA_DIR:-./data}/storage/${HORNET_NETWORK:-mainnet}:/app/storage" - "${HORNET_DATA_DIR:-./data}/snapshots/${HORNET_NETWORK:-mainnet}:/app/snapshots" - "${HORNET_DATA_DIR:-./data}/p2pstore/${HORNET_NETWORK:-mainnet}:/app/p2pstore" From 8a1543d5e2ae176651415d1b5e1424fec9c83499 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 20 Feb 2024 17:41:33 +0000 Subject: [PATCH 26/27] Set version to v.4.0.2 --- node-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node-installer.sh b/node-installer.sh index c69e6ea4..27123a32 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -1,6 +1,6 @@ #!/bin/sh -VRSN="v.4.0.1" +VRSN="v.4.0.2" BUILD="20240215_190331" VAR_DOMAIN='' From 6634912e578338f5458f263cc87c2cabe59a2e36 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 20 Feb 2024 17:41:52 +0000 Subject: [PATCH 27/27] Update release artifacts [v.4.0.2] [skip actions] --- node-installer.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/node-installer.sh b/node-installer.sh index 27123a32..fcea86e9 100644 --- a/node-installer.sh +++ b/node-installer.sh @@ -1,7 +1,7 @@ #!/bin/sh VRSN="v.4.0.2" -BUILD="20240215_190331" +BUILD="20240220_184147" VAR_DOMAIN='' VAR_HOST='' @@ -133,19 +133,19 @@ DEBIAN_FRONTEND=noninteractive sudo apt-get install curl -y -qq >/dev/null 2>&1 InstallerHash=$(curl -L https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/checksum.txt) >/dev/null 2>&1 -IotaHornetHash='7d341325706df8096b12068e372f28be15f9185a1a930418ded85bd4f23a45e8' +IotaHornetHash='3ad26bac0ac128619e7d8962b77f97538359e3fedddd7a606fcdeb005d35bd79' IotaHornetPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/iota-hornet.tar.gz" -IotaWaspHash='c14475d8367d737a6452ff109cd822e39f94b8de5a0e517740a4558ecb61fc45' +IotaWaspHash='9b16460a140bd0274f2529888abec6a197b0a3bc5177d7cd392997b1779b4e4d' IotaWaspPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/iota-wasp.tar.gz" -ShimmerHornetHash='4bb62666cfa5504277beea58cdeb6df13c9236bfaac218c523b334e1c703211b' +ShimmerHornetHash='6860139a665d3d4ea4bcd689b5fb72c95d7417719e4d15c9cc629d150d4480a7' ShimmerHornetPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-hornet.tar.gz" -ShimmerWaspHash='1ca04596aac76affaadc97df2e164b84b4adebc70f1bcf625c9ecf95e2a913ea' +ShimmerWaspHash='def32def00c9f32cb43e106e9cfa60da3a6e1def964dff2b0b899a7ba118ea1d' ShimmerWaspPackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-wasp.tar.gz" -ShimmerChronicleHash='95b605f8903c34a8b61b7780ec69c2143349ad55dae554c8a3268fe5cc441af1' +ShimmerChronicleHash='96c045c15f64de0e10b8168af51664358e946395ae7b89cc7ecf7386c4c4c21a' ShimmerChroniclePackage="https://github.com/dlt-green/node-installer-docker/releases/download/$VRSN/shimmer-chronicle.tar.gz" if [ "$VRSN" = 'dev-latest' ]; then VRSN=$BUILD; fi