From 3252d5e486ef5f7bd0454f2ed4d18aae332f4b62 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 19 Mar 2024 22:17:05 +0700 Subject: [PATCH 01/15] Holesky migrtate --- go.mod | 9 ++- go.sum | 8 +- install/scripts/start-bn.sh | 87 ++++++--------------- install/scripts/start-ec.sh | 50 ++++-------- install/scripts/start-vc.sh | 34 ++------ shared/services/config/besu-params.go | 7 +- shared/services/config/external-configs.go | 30 +++---- shared/services/config/geth-params.go | 7 +- shared/services/config/lighthouse-config.go | 7 +- shared/services/config/lodestar-config.go | 7 +- shared/services/config/mev-boost-config.go | 12 +-- shared/services/config/nethermind-params.go | 7 +- shared/services/config/nimbus-config.go | 13 ++- shared/services/config/prysm-config.go | 14 ++-- shared/services/config/stader-config.go | 54 ++++++------- shared/services/config/stadernode-config.go | 48 +++++------- shared/services/config/teku-config.go | 7 +- shared/types/config/types.go | 11 ++- shared/utils/cli/utils.go | 6 +- shared/version.go | 2 +- stader-cli/service/config.go | 12 ++- stader-cli/service/migration.go | 10 +++ 22 files changed, 175 insertions(+), 267 deletions(-) diff --git a/go.mod b/go.mod index edf2df54d..d1f5484da 100644 --- a/go.mod +++ b/go.mod @@ -35,8 +35,8 @@ require ( github.com/rivo/tview v0.0.0-20230621164836-6cc0565babaf // indirect github.com/sethvargo/go-password v0.2.0 github.com/shirou/gopsutil/v3 v3.23.1 - github.com/stader-labs/ethcli-ui/configuration v0.0.0-20231226083422-f3da49b84cc1 - github.com/stader-labs/ethcli-ui/wizard v0.0.0-20231226083422-f3da49b84cc1 + github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9 + github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9 github.com/tyler-smith/go-bip39 v1.1.0 github.com/urfave/cli v1.22.10 github.com/wealdtech/go-eth2-types/v2 v2.7.0 @@ -52,3 +52,8 @@ require ( ) replace github.com/rivo/tview => github.com/hamidraza/tview v1.0.0 + +// replace ( +// github.com/stader-labs/ethcli-ui/configuration => /Users/batphonghan/coding/stader_labs/ethcli-ui/configuration +// github.com/stader-labs/ethcli-ui/wizard => /Users/batphonghan/coding/stader_labs/ethcli-ui/wizard +// ) diff --git a/go.sum b/go.sum index 69216ddec..c5042d8a8 100644 --- a/go.sum +++ b/go.sum @@ -1231,10 +1231,10 @@ github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7Sr github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20231226083422-f3da49b84cc1 h1:g0iwUPYfGEvaUkulr5o+40dR9UQFXconbLWN5+/DdoA= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20231226083422-f3da49b84cc1/go.mod h1:gZcnx3O0sm+mEO2INhKDHw+iUzJH5tPaX4cv5SN5tsQ= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20231226083422-f3da49b84cc1 h1:nmJhcmTlR/SkEg4A8wnkTI4fOSj33786crIyBKHB6eg= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20231226083422-f3da49b84cc1/go.mod h1:5ojn2lxD9wd5sF0KYaHBDcpUC3ACFgqr0XG1atCIeAs= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9 h1:UQiPYGY602kM1AyDdOsqnbMMrOOKvwpxg1oN+KbhxeQ= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9/go.mod h1:gZcnx3O0sm+mEO2INhKDHw+iUzJH5tPaX4cv5SN5tsQ= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9 h1:aqWUaHMHBrVT9JvS/1+tEVkhE/o4MX8RFlNh23fWg/w= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9/go.mod h1:5ojn2lxD9wd5sF0KYaHBDcpUC3ACFgqr0XG1atCIeAs= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969 h1:Oo2KZNP70KE0+IUJSidPj/BFS/RXNHmKIJOdckzml2E= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= diff --git a/install/scripts/start-bn.sh b/install/scripts/start-bn.sh index cf19b0c41..27947c9eb 100755 --- a/install/scripts/start-bn.sh +++ b/install/scripts/start-bn.sh @@ -49,21 +49,12 @@ elif [ "$NETWORK" = "prater" ]; then NIMBUS_NETWORK="prater" PRYSM_NETWORK="--prater" TEKU_NETWORK="prater" - PRYSM_GENESIS_STATE="--genesis-state=/validators/genesis-prater.ssz" -elif [ "$NETWORK" = "devnet" ]; then - LH_NETWORK="prater" - LODESTAR_NETWORK="goerli" - NIMBUS_NETWORK="prater" - PRYSM_NETWORK="--prater" - TEKU_NETWORK="prater" - PRYSM_GENESIS_STATE="--genesis-state=/validators/genesis-prater.ssz" -elif [ "$NETWORK" = "zhejiang" ]; then - LH_NETWORK="" - LODESTAR_NETWORK="" - NIMBUS_NETWORK="/zhejiang" - PRYSM_NETWORK="--chain-config-file=/zhejiang/config.yaml" - TEKU_NETWORK="/zhejiang/config.yaml" - PRYSM_GENESIS_STATE="--genesis-state=/zhejiang/genesis.ssz" +elif [ "$NETWORK" = "holesky" ]; then + LH_NETWORK="holesky" + LODESTAR_NETWORK="holesky" + NIMBUS_NETWORK="holesky" + PRYSM_NETWORK="--holesky" + TEKU_NETWORK="holesky" else echo "Unknown network [$NETWORK]" exit 1 @@ -84,14 +75,8 @@ fi # Lighthouse startup if [ "$CC_CLIENT" = "lighthouse" ]; then - if [ "$NETWORK" = "zhejiang" ]; then - LH_NETWORK_ARG="--testnet-dir=/zhejiang" - else - LH_NETWORK_ARG="--network $LH_NETWORK" - fi - CMD="$PERF_PREFIX /usr/local/bin/lighthouse beacon \ - $LH_NETWORK_ARG \ + --network $LH_NETWORK \ --datadir /ethclient/lighthouse \ --port $BN_P2P_PORT \ --discovery-port $BN_P2P_PORT \ @@ -104,6 +89,8 @@ if [ "$CC_CLIENT" = "lighthouse" ]; then --staking \ --http-allow-sync-stalled \ --execution-jwt=/secrets/jwtsecret \ + --always-prefer-builder-payload \ + --historic-state-cache-size 2 \ $BN_ADDITIONAL_FLAGS" # Performance tuning for ARM systems @@ -132,10 +119,6 @@ if [ "$CC_CLIENT" = "lighthouse" ]; then CMD="$CMD --monitoring-endpoint $BITFLY_NODE_METRICS_ENDPOINT?apikey=$BITFLY_NODE_METRICS_SECRET&machine=$BITFLY_NODE_METRICS_MACHINE_NAME" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --boot-nodes=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo,enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo,enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA" - fi - exec ${CMD} fi @@ -143,14 +126,8 @@ fi # Lodestar startup if [ "$CC_CLIENT" = "lodestar" ]; then - if [ "$NETWORK" = "zhejiang" ]; then - LODESTAR_NETWORK_ARG="--paramsFile=/zhejiang/config.yaml --genesisStateFile=/zhejiang/genesis.ssz" - else - LODESTAR_NETWORK_ARG="--network $LODESTAR_NETWORK" - fi - - CMD="$PERF_PREFIX /usr/app/node_modules/.bin/lodestar beacon \ - $LODESTAR_NETWORK_ARG \ + CMD="$PERF_PREFIX /usr/local/bin/node --max-http-header-size=65536 /usr/app/packages/cli/bin/lodestar beacon \ + --network $LODESTAR_NETWORK \ --dataDir /ethclient/lodestar \ --port $BN_P2P_PORT \ --execution.urls $EC_ENGINE_ENDPOINT \ @@ -180,9 +157,6 @@ if [ "$CC_CLIENT" = "lodestar" ]; then CMD="$CMD --checkpointSyncUrl $CHECKPOINT_SYNC_URL" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --bootnodes=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo,enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo,enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA" - fi exec ${CMD} @@ -237,10 +211,6 @@ if [ "$CC_CLIENT" = "nimbus" ]; then CMD="$CMD --history=$NIMBUS_PRUNING_MODE" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --bootstrap-node=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo,enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo,enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA" - fi - exec ${CMD} fi @@ -248,10 +218,15 @@ fi # Prysm startup if [ "$CC_CLIENT" = "prysm" ]; then - # Get Prater SSZ if necessary - if [ "$NETWORK" = "prater" -o "$NETWORK" = "devnet" ]; then - if [ ! -f "/validators/genesis-prater.ssz" ]; then - wget "https://github.com/eth-clients/eth2-networks/raw/master/shared/prater/genesis.ssz" -O "/validators/genesis-prater.ssz" + # Grab the Holesky genesis state if needed + if [ "$NETWORK" = "holesky" ]; then + echo "Prysm has been configured to employ Holesky, with the genesis state being a prerequisite." + if [ ! -f "/ethclient/holesky-genesis.ssz" ]; then + echo "Downloading genesis..." + wget https://github.com/eth-clients/holesky/raw/main/custom_config_data/genesis.ssz -O /ethclient/holesky-genesis.ssz + echo "Download complete." + else + echo "The genesis state has already been downloaded, and the process will proceed accordingly." fi fi @@ -286,17 +261,12 @@ if [ "$CC_CLIENT" = "prysm" ]; then CMD="$CMD --disable-monitoring" fi - if [ ! -z "$CHECKPOINT_SYNC_URL" ]; then - CMD="$CMD --checkpoint-sync-url=$CHECKPOINT_SYNC_URL --genesis-beacon-api-url=$CHECKPOINT_SYNC_URL" + if [ "$NETWORK" = "holesky" ]; then + CMD="$CMD --genesis-state /ethclient/holesky-genesis.ssz" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --bootstrap-node=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk \ - --bootstrap-node=enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA \ - --bootstrap-node=enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA \ - --bootstrap-node=enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo \ - --bootstrap-node=enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo \ - --bootstrap-node=enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA" + if [ ! -z "$CHECKPOINT_SYNC_URL" ]; then + CMD="$CMD --checkpoint-sync-url=$CHECKPOINT_SYNC_URL --genesis-beacon-api-url=$CHECKPOINT_SYNC_URL" fi exec ${CMD} @@ -339,8 +309,6 @@ if [ "$CC_CLIENT" = "teku" ]; then if [ ! -z "$CHECKPOINT_SYNC_URL" ]; then CMD="$CMD --checkpoint-sync-url=$CHECKPOINT_SYNC_URL" - elif [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --initial-state=/zhejiang/genesis.ssz" fi if [ "$ENABLE_BITFLY_NODE_METRICS" = "true" ]; then @@ -351,13 +319,6 @@ if [ "$CC_CLIENT" = "teku" ]; then CMD="env JAVA_OPTS=\"-Xmx${TEKU_JVM_HEAP_SIZE}m\" $CMD" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD \ - --Xee-version=kilnv2 \ - --p2p-discovery-bootnodes=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo,enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo,enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA \ - --p2p-static-peers=/ip4/64.225.78.1/tcp/9000/p2p/16Uiu2HAkwbLbPXhPua835ErpoywHmgog4oydobcj3uKtww8UmW3b,/ip4/146.190.238.212/tcp/9000/p2p/16Uiu2HAm8bVLELrPczXQesjUYF8EetaKokgrdgZKj8814ZiGNggk,/ip4/165.232.84.160/tcp/9000/p2p/16Uiu2HAm7xM7nYVz3U9iWGH6NwExZTWtJGGeZ7ejQrcuUFUwtQmH,/ip4/68.183.13.170/udp/9000/p2p/16Uiu2HAmHXzTmWAtVexas5YskEpbcyDQ5Qck3jdLgErWumjKExUx" - fi - exec ${CMD} fi diff --git a/install/scripts/start-ec.sh b/install/scripts/start-ec.sh index de6a668c7..2834db3de 100755 --- a/install/scripts/start-ec.sh +++ b/install/scripts/start-ec.sh @@ -56,14 +56,10 @@ elif [ "$NETWORK" = "prater" ]; then GETH_NETWORK="--goerli" STADER_NETHERMIND_NETWORK="goerli" BESU_NETWORK="--network=goerli" -elif [ "$NETWORK" = "devnet" ]; then - GETH_NETWORK="--goerli" - STADER_NETHERMIND_NETWORK="goerli" - BESU_NETWORK="--network=goerli" -elif [ "$NETWORK" = "zhejiang" ]; then - GETH_NETWORK="--networkid=1337803" - STADER_NETHERMIND_NETWORK="/zhejiang/nethermind.json" - BESU_NETWORK="--network-id=1337803" +elif [ "$NETWORK" = "holesky" ]; then + GETH_NETWORK="--holesky" + STADER_NETHERMIND_NETWORK="holesky" + BESU_NETWORK="--network=holesky" else echo "Unknown network [$NETWORK]" exit 1 @@ -90,29 +86,17 @@ if [ "$CLIENT" = "geth" ]; then DB_ENGINE="--db.engine=pebble" fi - # Use new state stoore scheme if requested - if [ "$STADER_GETH_ENABLE_PBSS" = "true" ]; then - CMD="$CMD --state.scheme=path" - fi - # Init the zhejiang data if necessary - if [ "$NETWORK" = "zhejiang" ]; then - if [ ! -f "/ethclient/zhejiang.init" ]; then - $PERF_PREFIX /usr/local/bin/geth $DB_ENGINE --datadir /ethclient/geth init /zhejiang/genesis.json - touch /ethclient/zhejiang.init - fi - fi # Check for the prune flag and run that first if requested if [ -f "/ethclient/prune.lock" ]; then - $PERF_PREFIX /usr/local/bin/geth $DB_ENGINE snapshot prune-state $GETH_NETWORK --datadir /ethclient/geth ; rm /ethclient/prune.lock + $PERF_PREFIX /usr/local/bin/geth snapshot prune-state $GETH_NETWORK --datadir /ethclient/geth ; rm /ethclient/prune.lock # Run Geth normally else CMD="$PERF_PREFIX /usr/local/bin/geth $GETH_NETWORK \ - ${DB_ENGINE} \ --datadir /ethclient/geth \ --http \ --http.addr 0.0.0.0 \ @@ -134,6 +118,11 @@ if [ "$CLIENT" = "geth" ]; then CMD="$CMD --ethstats $ETHSTATS_LABEL:$ETHSTATS_LOGIN" fi + # Use new state stoore scheme if requested + if [ "$STADER_GETH_ENABLE_PBSS" = "true" ]; then + CMD="$CMD --state.scheme=path" + fi + if [ ! -z "$EC_CACHE_SIZE" ]; then CMD="$CMD --cache $EC_CACHE_SIZE" fi @@ -150,9 +139,6 @@ if [ "$CLIENT" = "geth" ]; then CMD="$CMD --port $EC_P2P_PORT" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --syncmode=full --bootnodes enode://691c66d0ce351633b2ef8b4e4ef7db9966915ca0937415bd2b408df22923f274873b4d4438929e029a13a680140223dcf701cabe22df7d8870044321022dfefa@64.225.78.1:30303,enode://89347b9461727ee1849256d78e84d5c86cc3b4c6c5347650093982b726d71f3d08027e280b399b7b6604ceeda863283dcfe1a01e93728b4883114e9f8c7cc8ef@146.190.238.212:30303,enode://c2892072efe247f21ed7ebea6637ade38512a0ae7c5cffa1bf0786d5e3be1e7f40ff71252a21b36aa9de54e49edbcfc6962a98032adadfa29c8524262e484ad3@165.232.84.160:30303,enode://71e862580d3177a99e9837bd9e9c13c83bde63d3dba1d5cea18e89eb2a17786bbd47a8e7ae690e4d29763b55c205af13965efcaf6105d58e118a5a8ed2b0f6d0@68.183.13.170:30303,enode://2f6cf7f774e4507e7c1b70815f9c0ccd6515ee1170c991ce3137002c6ba9c671af38920f5b8ab8a215b62b3b50388030548f1d826cb6c2b30c0f59472804a045@161.35.147.98:30303" - fi if [ ! -z "$TX_FEE_CAP" ]; then CMD="$CMD --rpc.txfeecap $TX_FEE_CAP" @@ -239,7 +225,7 @@ if [ "$CLIENT" = "nethermind" ]; then if [ "$ENABLE_METRICS" = "true" ]; then CMD="$CMD --Metrics.Enabled true --Metrics.ExposePort $EC_METRICS_PORT" - if [ "$NETWORK" == "prater" ]; then +if [ "$NETWORK" == "prater" ]; then CMD="$CMD --Metrics.PushGatewayUrl=\"\"" fi fi @@ -258,11 +244,8 @@ if [ "$CLIENT" = "nethermind" ]; then CMD="$CMD --Pruning.CacheMb $STADER_NETHERMIND_PRUNE_MEM_SIZE" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --Sync.SnapSync false" - else - CMD="$CMD --Sync.SnapSync true" - fi + + CMD="$CMD --Sync.SnapSync true" exec ${CMD} @@ -327,11 +310,8 @@ if [ "$CLIENT" = "besu" ]; then CMD="$CMD --bonsai-maximum-back-layers-to-load=$BESU_MAX_BACK_LAYERS" fi - if [ "$NETWORK" = "zhejiang" ]; then - CMD="$CMD --genesis-file=/zhejiang/besu.json --bootnodes=enode://691c66d0ce351633b2ef8b4e4ef7db9966915ca0937415bd2b408df22923f274873b4d4438929e029a13a680140223dcf701cabe22df7d8870044321022dfefa@64.225.78.1:30303,enode://89347b9461727ee1849256d78e84d5c86cc3b4c6c5347650093982b726d71f3d08027e280b399b7b6604ceeda863283dcfe1a01e93728b4883114e9f8c7cc8ef@146.190.238.212:30303,enode://c2892072efe247f21ed7ebea6637ade38512a0ae7c5cffa1bf0786d5e3be1e7f40ff71252a21b36aa9de54e49edbcfc6962a98032adadfa29c8524262e484ad3@165.232.84.160:30303,enode://71e862580d3177a99e9837bd9e9c13c83bde63d3dba1d5cea18e89eb2a17786bbd47a8e7ae690e4d29763b55c205af13965efcaf6105d58e118a5a8ed2b0f6d0@68.183.13.170:30303,enode://2f6cf7f774e4507e7c1b70815f9c0ccd6515ee1170c991ce3137002c6ba9c671af38920f5b8ab8a215b62b3b50388030548f1d826cb6c2b30c0f59472804a045@161.35.147.98:30303" - else - CMD="$CMD --fast-sync-min-peers=3 --sync-mode=X_CHECKPOINT" - fi + + CMD="$CMD --fast-sync-min-peers=3 --sync-mode=X_CHECKPOINT" if [ "$BESU_JVM_HEAP_SIZE" -gt "0" ]; then CMD="env JAVA_OPTS=\"-Xmx${BESU_JVM_HEAP_SIZE}m\" $CMD" diff --git a/install/scripts/start-vc.sh b/install/scripts/start-vc.sh index cd210c642..f125f6326 100755 --- a/install/scripts/start-vc.sh +++ b/install/scripts/start-vc.sh @@ -32,16 +32,11 @@ elif [ "$NETWORK" = "prater" ]; then LODESTAR_NETWORK="goerli" PRYSM_NETWORK="--prater" TEKU_NETWORK="prater" -elif [ "$NETWORK" = "devnet" ]; then - LH_NETWORK="prater" - LODESTAR_NETWORK="goerli" - PRYSM_NETWORK="--prater" - TEKU_NETWORK="prater" -elif [ "$NETWORK" = "zhejiang" ]; then - LH_NETWORK="" - LODESTAR_NETWORK="" - PRYSM_NETWORK="--chain-config-file=/zhejiang/config.yaml" - TEKU_NETWORK="/zhejiang/config.yaml" +elif [ "$NETWORK" = "holesky" ]; then + LH_NETWORK="holesky" + LODESTAR_NETWORK="holesky" + PRYSM_NETWORK="--holesky" + TEKU_NETWORK="holesky" else echo "Unknown network [$NETWORK]" exit 1 @@ -56,13 +51,6 @@ fi # Lighthouse startup if [ "$CC_CLIENT" = "lighthouse" ]; then - - if [ "$NETWORK" = "zhejiang" ]; then - LH_NETWORK_ARG="--testnet-dir=/zhejiang" - else - LH_NETWORK_ARG="--network $LH_NETWORK" - fi - # Set up the CC + fallback string CC_URL_STRING=$CC_API_ENDPOINT if [ ! -z "$FALLBACK_CC_API_ENDPOINT" ]; then @@ -70,7 +58,7 @@ if [ "$CC_CLIENT" = "lighthouse" ]; then fi CMD="/usr/local/bin/lighthouse validator \ - $LH_NETWORK_ARG \ + --network $LH_NETWORK \ --datadir /validators/lighthouse \ --init-slashing-protection \ --logfile-max-number 0 \ @@ -101,12 +89,6 @@ fi # Lodestar startup if [ "$CC_CLIENT" = "lodestar" ]; then - if [ "$NETWORK" = "zhejiang" ]; then - LODESTAR_NETWORK_ARG="--paramsFile=/zhejiang/config.yaml" - else - LODESTAR_NETWORK_ARG="--network $LODESTAR_NETWORK" - fi - # Remove any lock files that were left over accidentally after an unclean shutdown find /validators/lodestar/validators -name voting-keystore.json.lock -delete @@ -117,7 +99,7 @@ if [ "$CC_CLIENT" = "lodestar" ]; then fi CMD="/usr/app/node_modules/.bin/lodestar validator \ - $LODESTAR_NETWORK_ARG \ + --network $LODESTAR_NETWORK \ --dataDir /validators/lodestar \ --beacon-nodes $CC_URL_STRING \ $FALLBACK_CC_STRING \ @@ -127,7 +109,7 @@ if [ "$CC_CLIENT" = "lodestar" ]; then $VC_ADDITIONAL_FLAGS" if [ "$DOPPELGANGER_DETECTION" = "true" ]; then - CMD="$CMD --doppelgangerProtectionEnabled" + CMD="$CMD --doppelgangerProtection" fi if [ ! -z "$MEV_BOOST_URL" ]; then diff --git a/shared/services/config/besu-params.go b/shared/services/config/besu-params.go index 656c58a67..98d25d312 100644 --- a/shared/services/config/besu-params.go +++ b/shared/services/config/besu-params.go @@ -119,10 +119,9 @@ func NewBesuConfig(cfg *StaderConfig) *BesuConfig { Description: "The tag name of the Besu container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: besuTagProd, - config.Network_Prater: besuTagTest, - config.Network_Devnet: besuTagTest, - config.Network_Zhejiang: besuTagTest, + config.Network_Mainnet: besuTagProd, + config.Network_Prater: besuTagTest, + config.Network_Holesky: besuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, EnvironmentVariables: []string{"EC_CONTAINER_TAG"}, diff --git a/shared/services/config/external-configs.go b/shared/services/config/external-configs.go index 2ee2c78d0..3f350500a 100644 --- a/shared/services/config/external-configs.go +++ b/shared/services/config/external-configs.go @@ -215,10 +215,9 @@ func NewExternalLighthouseConfig(cfg *StaderConfig) *ExternalLighthouseConfig { Description: "The tag name of the Lighthouse container you want to use from Docker Hub. This will be used for the Validator Client that Stader manages with your validator keys.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: getLighthouseTagProd(), - config.Network_Prater: getLighthouseTagTest(), - config.Network_Devnet: getLighthouseTagTest(), - config.Network_Zhejiang: getLighthouseTagTest(), + config.Network_Mainnet: getLighthouseTagProd(), + config.Network_Prater: getLighthouseTagTest(), + config.Network_Holesky: getLighthouseTagTest(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, @@ -300,10 +299,9 @@ func NewExternalPrysmConfig(cfg *StaderConfig) *ExternalPrysmConfig { Description: "The tag name of the Prysm validator container you want to use from Docker Hub. This will be used for the Validator Client that Stader manages with your validator keys.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: getPrysmVcProdTag(), - config.Network_Prater: getPrysmVcTestTag(), - config.Network_Devnet: getPrysmVcTestTag(), - config.Network_Zhejiang: getLighthouseTagTest(), + config.Network_Mainnet: getPrysmVcProdTag(), + config.Network_Prater: getPrysmVcTestTag(), + config.Network_Holesky: getPrysmVcTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, @@ -374,10 +372,9 @@ func NewExternalNimbusConfig(cfg *StaderConfig) *ExternalNimbusConfig { Description: "The tag name of the Nimbus validator container you want to use from Docker Hub. This will be used for the Validator Client that Stader manages with your validator keys.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: nimbusVcTagProd, - config.Network_Prater: nimbusVcTagTest, - config.Network_Devnet: nimbusVcTagTest, - config.Network_Zhejiang: nimbusVcTagTest, + config.Network_Mainnet: nimbusVcTagProd, + config.Network_Prater: nimbusVcTagTest, + config.Network_Holesky: nimbusVcTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, @@ -435,10 +432,9 @@ func NewExternalTekuConfig(cfg *StaderConfig) *ExternalTekuConfig { Description: "The tag name of the Teku container you want to use from Docker Hub. This will be used for the Validator Client that Stader manages with your validator keys.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: tekuTagProd, - config.Network_Prater: tekuTagTest, - config.Network_Devnet: tekuTagTest, - config.Network_Zhejiang: tekuTagTest, + config.Network_Mainnet: tekuTagProd, + config.Network_Prater: tekuTagTest, + config.Network_Holesky: tekuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, @@ -521,7 +517,7 @@ func NewExternalLodestarConfig(cfg *StaderConfig) *ExternalLodestarConfig { Default: map[config.Network]interface{}{ config.Network_Mainnet: lodestarTagProd, config.Network_Prater: lodestarTagTest, - config.Network_Devnet: lodestarTagTest, + config.Network_Holesky: lodestarTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, diff --git a/shared/services/config/geth-params.go b/shared/services/config/geth-params.go index 0a920bec1..fc7bf603e 100644 --- a/shared/services/config/geth-params.go +++ b/shared/services/config/geth-params.go @@ -123,10 +123,9 @@ func NewGethConfig(cfg *StaderConfig) *GethConfig { Description: "The tag name of the Geth container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: gethTagProd, - config.Network_Prater: gethTagTest, - config.Network_Devnet: gethTagTest, - config.Network_Zhejiang: gethTagTest, + config.Network_Mainnet: gethTagProd, + config.Network_Prater: gethTagTest, + config.Network_Holesky: gethTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, EnvironmentVariables: []string{"EC_CONTAINER_TAG"}, diff --git a/shared/services/config/lighthouse-config.go b/shared/services/config/lighthouse-config.go index a885c19a0..dd1301025 100644 --- a/shared/services/config/lighthouse-config.go +++ b/shared/services/config/lighthouse-config.go @@ -75,10 +75,9 @@ func NewLighthouseConfig(cfg *StaderConfig) *LighthouseConfig { Description: "The tag name of the Lighthouse container you want to use from Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: getLighthouseTagProd(), - config.Network_Prater: getLighthouseTagTest(), - config.Network_Devnet: getLighthouseTagTest(), - config.Network_Zhejiang: getLighthouseTagTest(), + config.Network_Mainnet: getLighthouseTagProd(), + config.Network_Prater: getLighthouseTagTest(), + config.Network_Holesky: getLighthouseTagTest(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, EnvironmentVariables: []string{"BN_CONTAINER_TAG", "VC_CONTAINER_TAG"}, diff --git a/shared/services/config/lodestar-config.go b/shared/services/config/lodestar-config.go index 4c3f99ad3..526fe6e67 100644 --- a/shared/services/config/lodestar-config.go +++ b/shared/services/config/lodestar-config.go @@ -72,10 +72,9 @@ func NewLodestarConfig(cfg *StaderConfig) *LodestarConfig { Description: "The tag name of the Lodestar container you want to use from Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: lodestarTagProd, - config.Network_Prater: lodestarTagTest, - config.Network_Devnet: lodestarTagTest, - config.Network_Zhejiang: lodestarTagTest, + config.Network_Mainnet: lodestarTagProd, + config.Network_Prater: lodestarTagTest, + config.Network_Holesky: lodestarTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, EnvironmentVariables: []string{"BN_CONTAINER_TAG", "VC_CONTAINER_TAG"}, diff --git a/shared/services/config/mev-boost-config.go b/shared/services/config/mev-boost-config.go index 1638e9a1b..6b510bb6c 100644 --- a/shared/services/config/mev-boost-config.go +++ b/shared/services/config/mev-boost-config.go @@ -419,7 +419,7 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=staderlabs", config.Network_Prater: "https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@builder-relay-goerli.flashbots.net?id=staderlabs", - config.Network_Devnet: "https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@builder-relay-goerli.flashbots.net?id=staderlabs", + config.Network_Holesky: "https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -433,7 +433,7 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com?id=staderlabs", config.Network_Prater: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com?id=staderlabs", - config.Network_Devnet: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com?id=staderlabs", + config.Network_Holesky: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.holesky.blxrbdn.com?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -445,6 +445,7 @@ func createDefaultRelays() []config.MevRelay { Description: "Select this to enable the \"regulated\" relay from bloXroute.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?id=staderlabs", + config.Network_Holesky: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.holesky.blxrbdn.com?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -458,7 +459,7 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=staderlabs", config.Network_Prater: "https://0xaa1488eae4b06a1fff840a2b6db167afc520758dc2c8af0dfb57037954df3431b747e2f900fe8805f05d635e9a29717b@relay-goerli.edennetwork.io?id=staderlabs", - config.Network_Devnet: "https://0xaa1488eae4b06a1fff840a2b6db167afc520758dc2c8af0dfb57037954df3431b747e2f900fe8805f05d635e9a29717b@relay-goerli.edennetwork.io?id=staderlabs", + config.Network_Holesky: "https://0xb1d229d9c21298a87846c7022ebeef277dfc321fe674fa45312e20b5b6c400bfde9383f801848d7837ed5fc449083a12@relay-holesky.edennetwork.io?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -472,7 +473,7 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money?id=staderlabs", config.Network_Prater: "https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money?id=staderlabs", - config.Network_Devnet: "https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money?id=staderlabs", + config.Network_Holesky: "https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money?id=staderlabs", }, Regulated: false, NoSandwiching: false, @@ -485,7 +486,7 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live?id=staderlabs", config.Network_Prater: "https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@goerli.aestus.live?id=staderlabs", - config.Network_Devnet: "https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@goerli.aestus.live?id=staderlabs", + config.Network_Holesky: "https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live?id=staderlabs", }, Regulated: false, NoSandwiching: false, @@ -498,7 +499,6 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net?id=staderlabs", config.Network_Prater: "https://0xa6bcad37b5d647152a93c2807d8a56055f1e0d7480eb6505d46edc21593e400f0f13738bf2e892f85946234629a3036a@goerli.agnostic-relay.net?id=staderlabs", - config.Network_Devnet: "https://0xa6bcad37b5d647152a93c2807d8a56055f1e0d7480eb6505d46edc21593e400f0f13738bf2e892f85946234629a3036a@goerli.agnostic-relay.net?id=staderlabs", }, Regulated: true, NoSandwiching: false, diff --git a/shared/services/config/nethermind-params.go b/shared/services/config/nethermind-params.go index f282683db..9eeb58524 100644 --- a/shared/services/config/nethermind-params.go +++ b/shared/services/config/nethermind-params.go @@ -151,10 +151,9 @@ func NewNethermindConfig(cfg *StaderConfig) *NethermindConfig { Description: "The tag name of the Nethermind container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: nethermindTagProd, - config.Network_Prater: nethermindTagTest, - config.Network_Devnet: nethermindTagTest, - config.Network_Zhejiang: nethermindTagTest, + config.Network_Mainnet: nethermindTagProd, + config.Network_Prater: nethermindTagTest, + config.Network_Holesky: nethermindTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, EnvironmentVariables: []string{"EC_CONTAINER_TAG"}, diff --git a/shared/services/config/nimbus-config.go b/shared/services/config/nimbus-config.go index 62cf5ef6d..66938929a 100644 --- a/shared/services/config/nimbus-config.go +++ b/shared/services/config/nimbus-config.go @@ -87,10 +87,9 @@ func NewNimbusConfig(cfg *StaderConfig) *NimbusConfig { Description: "The tag name of the Nimbus Beacon Node container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: nimbusBnTagProd, - config.Network_Prater: nimbusBnTagTest, - config.Network_Devnet: nimbusBnTagTest, - config.Network_Zhejiang: nimbusBnTagTest, + config.Network_Mainnet: nimbusBnTagProd, + config.Network_Prater: nimbusBnTagTest, + config.Network_Holesky: nimbusBnTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2}, EnvironmentVariables: []string{"BN_CONTAINER_TAG"}, @@ -104,10 +103,8 @@ func NewNimbusConfig(cfg *StaderConfig) *NimbusConfig { Description: "The tag name of the Nimbus Validator Client container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: nimbusVcTagProd, - config.Network_Prater: nimbusVcTagTest, - config.Network_Devnet: nimbusVcTagTest, - config.Network_Zhejiang: nimbusVcTagTest, + config.Network_Mainnet: nimbusVcTagProd, + config.Network_Prater: nimbusVcTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, diff --git a/shared/services/config/prysm-config.go b/shared/services/config/prysm-config.go index 61f4a7bba..9e52d937a 100644 --- a/shared/services/config/prysm-config.go +++ b/shared/services/config/prysm-config.go @@ -116,10 +116,9 @@ func NewPrysmConfig(cfg *StaderConfig) *PrysmConfig { Description: "The tag name of the Prysm Beacon Node container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: getPrysmBnProdTag(), - config.Network_Prater: getPrysmBnTestTag(), - config.Network_Devnet: getPrysmBnTestTag(), - config.Network_Zhejiang: getPrysmBnTestTag(), + config.Network_Mainnet: getPrysmBnProdTag(), + config.Network_Prater: getPrysmBnTestTag(), + config.Network_Holesky: getPrysmBnTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2}, EnvironmentVariables: []string{"BN_CONTAINER_TAG"}, @@ -133,10 +132,9 @@ func NewPrysmConfig(cfg *StaderConfig) *PrysmConfig { Description: "The tag name of the Prysm Validator Client container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: getPrysmVcProdTag(), - config.Network_Prater: getPrysmVcTestTag(), - config.Network_Devnet: getPrysmVcTestTag(), - config.Network_Zhejiang: getPrysmVcTestTag(), + config.Network_Mainnet: getPrysmVcProdTag(), + config.Network_Prater: getPrysmVcTestTag(), + config.Network_Holesky: getPrysmVcTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, diff --git a/shared/services/config/stader-config.go b/shared/services/config/stader-config.go index fa7d4cd24..ef7b958f8 100644 --- a/shared/services/config/stader-config.go +++ b/shared/services/config/stader-config.go @@ -998,20 +998,15 @@ func (cfg *StaderConfig) GenerateEnvironmentVariables() map[string]string { // MEV-Boost if cfg.EnableMevBoost.Value == true { - if cfg.StaderNode.Network.Value.(config.Network) == config.Network_Zhejiang { - // Disable MEV-Boost on Zhejiang - cfg.EnableMevBoost.Value = false - } else { - config.AddParametersToEnvVars(cfg.MevBoost.GetParameters(), envVars) - if cfg.MevBoost.Mode.Value == config.Mode_Local { - envVars[mevBoostRelaysEnvVar] = cfg.MevBoost.GetRelayString() - envVars[mevBoostUrlEnvVar] = fmt.Sprintf("http://%s:%d", MevBoostContainerName, cfg.MevBoost.Port.Value) - - // Handle open API port - if cfg.MevBoost.OpenRpcPort.Value == true { - port := cfg.MevBoost.Port.Value.(uint16) - envVars["MEV_BOOST_OPEN_API_PORT"] = fmt.Sprintf("\"%d:%d/tcp\"", port, port) - } + config.AddParametersToEnvVars(cfg.MevBoost.GetParameters(), envVars) + if cfg.MevBoost.Mode.Value == config.Mode_Local { + envVars[mevBoostRelaysEnvVar] = cfg.MevBoost.GetRelayString() + envVars[mevBoostUrlEnvVar] = fmt.Sprintf("http://%s:%d", MevBoostContainerName, cfg.MevBoost.Port.Value) + + // Handle open API port + if cfg.MevBoost.OpenRpcPort.Value == true { + port := cfg.MevBoost.Port.Value.(uint16) + envVars["MEV_BOOST_OPEN_API_PORT"] = fmt.Sprintf("\"%d:%d/tcp\"", port, port) } } } @@ -1104,25 +1099,20 @@ func (cfg *StaderConfig) Validate() []string { // Ensure there's a MEV-boost URL if !cfg.IsNativeMode && cfg.EnableMevBoost.Value == true { - if cfg.StaderNode.Network.Value.(config.Network) == config.Network_Zhejiang { - // Disable MEV-Boost on Zhejiang - cfg.EnableMevBoost.Value = false - } else { - switch cfg.MevBoost.Mode.Value.(config.Mode) { - case config.Mode_Local: - // In local MEV-boost mode, the user has to have at least one relay - relays := cfg.MevBoost.GetEnabledMevRelays() - if len(relays) == 0 { - errors = append(errors, "You have MEV-boost enabled in local mode but don't have any profiles or relays enabled. Please select at least one profile or relay to use MEV-boost.") - } - case config.Mode_External: - // In external MEV-boost mode, the user has to have an external URL if they're running Docker mode - if cfg.MevBoost.ExternalUrl.Value.(string) == "" { - errors = append(errors, "You have MEV-boost enabled in external mode but don't have a URL set. Please enter the external MEV-boost server URL to use it.") - } - default: - errors = append(errors, "You do not have a MEV-Boost mode configured. You must select a mode in the `stader-cli service config` UI.\nNote that MEV-Boost will be required in a future update, at which point you can no longer disable it.") + switch cfg.MevBoost.Mode.Value.(config.Mode) { + case config.Mode_Local: + // In local MEV-boost mode, the user has to have at least one relay + relays := cfg.MevBoost.GetEnabledMevRelays() + if len(relays) == 0 { + errors = append(errors, "You have MEV-boost enabled in local mode but don't have any profiles or relays enabled. Please select at least one profile or relay to use MEV-boost.") } + case config.Mode_External: + // In external MEV-boost mode, the user has to have an external URL if they're running Docker mode + if cfg.MevBoost.ExternalUrl.Value.(string) == "" { + errors = append(errors, "You have MEV-boost enabled in external mode but don't have a URL set. Please enter the external MEV-boost server URL to use it.") + } + default: + errors = append(errors, "You do not have a MEV-Boost mode configured. You must select a mode in the `stader-cli service config` UI.\nNote that MEV-Boost will be required in a future update, at which point you can no longer disable it.") } } diff --git a/shared/services/config/stadernode-config.go b/shared/services/config/stadernode-config.go index 914e9b839..75d37b856 100644 --- a/shared/services/config/stadernode-config.go +++ b/shared/services/config/stadernode-config.go @@ -234,48 +234,43 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { beaconChainUrl: map[config.Network]string{ config.Network_Mainnet: "https://beaconcha.in", config.Network_Prater: "https://prater.beaconcha.in", - config.Network_Devnet: "https://prater.beaconcha.in", + config.Network_Holesky: "https://holesky.beaconcha.in", }, txWatchUrl: map[config.Network]string{ config.Network_Mainnet: "https://etherscan.io/tx", config.Network_Prater: "https://goerli.etherscan.io/tx", - config.Network_Devnet: "https://goerli.etherscan.io/tx", + config.Network_Holesky: "https://holesky.etherscan.io/tx", }, chainID: map[config.Network]uint{ - config.Network_Mainnet: 1, // Mainnet - config.Network_Prater: 5, // Goerli - config.Network_Devnet: 5, // Also goerli - config.Network_Zhejiang: 1337803, // Zhejiang + config.Network_Mainnet: 1, // Mainnet + config.Network_Prater: 5, // Goerli + config.Network_Holesky: 17000, // Holesky }, ethxTokenAddress: map[config.Network]string{ - config.Network_Prater: "0x3338eCd3ab3d3503c55c931d759fA6d78d287236", - config.Network_Devnet: "0x38DE8Df722B4032Cc6987F00bCA0d9B37d9F9438", - config.Network_Mainnet: "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b", - config.Network_Zhejiang: "0x90Da3CA75532A17ca38440a32595F036ecE46E85", + config.Network_Prater: "0x3338eCd3ab3d3503c55c931d759fA6d78d287236", + config.Network_Holesky: "0xB4F5fc289a778B80392b86fa70A7111E5bE0F859", + config.Network_Mainnet: "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b", }, staderConfigAddress: map[config.Network]string{ - config.Network_Prater: "0x2aa6cEd8Cf0a93884216BaE5dbF4299932aB577B", - config.Network_Devnet: "0x749Ed651c4F41E0D705960e815A58815ffFd3afe", - config.Network_Mainnet: "0x4ABEF2263d5A5ED582FC9A9789a41D85b68d69DB", - config.Network_Zhejiang: "0x90Da3CA75532A17ca38440a32595F036ecE46E85", + config.Network_Prater: "0x2aa6cEd8Cf0a93884216BaE5dbF4299932aB577B", + config.Network_Holesky: "0x50FD3384783EE49011E7b57d7A3430a762b3f3F2", + config.Network_Mainnet: "0x4ABEF2263d5A5ED582FC9A9789a41D85b68d69DB", }, baseStaderBackendUrl: map[config.Network]string{ - config.Network_Prater: "https://ethx-offchain-preprod.staderlabs.com", - config.Network_Devnet: "https://stage-ethx-offchain.staderlabs.click", - config.Network_Mainnet: "https://ethx-offchain.staderlabs.com", - config.Network_Zhejiang: "0x90Da3CA75532A17ca38440a32595F036ecE46E85", + config.Network_Prater: "https://ethx-offchain-preprod.staderlabs.com", + config.Network_Holesky: "https://stage-ethx-offchain.staderlabs.click", + config.Network_Mainnet: "https://ethx-offchain.staderlabs.com", }, preSignEncryptionKey: map[config.Network]string{ - config.Network_Prater: stageEncryptionKey, - config.Network_Devnet: devEncryptionKey, - config.Network_Mainnet: prodEncryptionKey, - config.Network_Zhejiang: stageEncryptionKey, + config.Network_Prater: stageEncryptionKey, + config.Network_Holesky: devEncryptionKey, + config.Network_Mainnet: prodEncryptionKey, }, } } @@ -567,11 +562,10 @@ func getNetworkOptions() []config.ParameterOption { Name: "Goerli Testnet", Description: "This is the Goerli test network, using Goerli ETH to make demo validators.\nUse this if you want to practice running the Stadernode in a free, safe environment before moving to Mainnet.", Value: config.Network_Prater, - }, - { - Name: "Zhejiang Testnet", - Description: "This is the Zhejiang test network, using free fake ETH and free fake SD to make fake validators.\nUse this if you want to test the ZHejiang network, along with the Shanghai and Capella upgrades to Ethereum that enable validator withdrawals.", - Value: config.Network_Zhejiang, + }, { + Name: "Holesky Testnet", + Description: "This is the Holesky test network, using Holesky ETH to make demo validators.\nUse this if you want to practice running the Stadernode in a free, safe environment before moving to Mainnet.", + Value: config.Network_Prater, }, } diff --git a/shared/services/config/teku-config.go b/shared/services/config/teku-config.go index 96752759f..f41a65711 100644 --- a/shared/services/config/teku-config.go +++ b/shared/services/config/teku-config.go @@ -105,10 +105,9 @@ func NewTekuConfig(cfg *StaderConfig) *TekuConfig { Description: "The tag name of the Teku container you want to use on Docker Hub.", Type: config.ParameterType_String, Default: map[config.Network]interface{}{ - config.Network_Mainnet: tekuTagProd, - config.Network_Prater: tekuTagTest, - config.Network_Devnet: tekuTagTest, - config.Network_Zhejiang: tekuTagTest, + config.Network_Mainnet: tekuTagProd, + config.Network_Prater: tekuTagTest, + config.Network_Holesky: tekuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, EnvironmentVariables: []string{"BN_CONTAINER_TAG", "VC_CONTAINER_TAG"}, diff --git a/shared/types/config/types.go b/shared/types/config/types.go index 559bd3dbc..3e0410c0a 100644 --- a/shared/types/config/types.go +++ b/shared/types/config/types.go @@ -50,12 +50,11 @@ const ( // Enum to describe which network the system is on const ( - Network_Unknown Network = "" - Network_All Network = "all" - Network_Mainnet Network = "mainnet" - Network_Prater Network = "prater" - Network_Devnet Network = "devnet" - Network_Zhejiang Network = "zhejiang" + Network_Unknown Network = "" + Network_All Network = "all" + Network_Mainnet Network = "mainnet" + Network_Prater Network = "prater" + Network_Holesky Network = "holesky" ) // Enum to describe the mode for a client - local (Docker Mode) or external (Hybrid Mode) diff --git a/shared/utils/cli/utils.go b/shared/utils/cli/utils.go index c3e407c50..8d30a8a54 100644 --- a/shared/utils/cli/utils.go +++ b/shared/utils/cli/utils.go @@ -135,10 +135,8 @@ func PrintNetwork(staderClient *stader.Client) error { fmt.Printf("Your Stader Node is currently using the %sEthereum Mainnet.%s\n\n", colorGreen, colorReset) case cfgtypes.Network_Prater: fmt.Printf("Your Stader Node is currently using the %sGoerli Test Network.%s\n\n", colorLightBlue, colorReset) - case cfgtypes.Network_Devnet: - fmt.Printf("Your Stader Node is currently using the %sPrater Development Network.%s\n\n", colorYellow, colorReset) - case cfgtypes.Network_Zhejiang: - fmt.Printf("Your Stader Node is currently using the %sZhejiang Test Network.%s\n\n", colorYellow, colorReset) + case cfgtypes.Network_Holesky: + fmt.Printf("Your Smartnode is currently using the %sHolesky Test Network.%s\n\n", colorYellow, colorReset) default: fmt.Printf("%sYou are on an unexpected network [%v].%s\n\n", colorYellow, currentNetwork, colorReset) } diff --git a/shared/version.go b/shared/version.go index f88c4013a..5acd0969c 100644 --- a/shared/version.go +++ b/shared/version.go @@ -21,7 +21,7 @@ package shared const BinaryBucket string = "/stader-node-build/permissionless" const DockerAccount string = "staderlabs" -const StaderVersion string = "1.5.1" +const StaderVersion string = "1.5.2" const Logo string = ` _____ _ _ _ _ 𝅺 diff --git a/stader-cli/service/config.go b/stader-cli/service/config.go index 2ff7f3cd5..a01410e67 100644 --- a/stader-cli/service/config.go +++ b/stader-cli/service/config.go @@ -56,10 +56,12 @@ func updateConfigFromUISetting(oldCfg *stdCf.StaderConfig, settings map[string]i newCfg := *oldCfg // update the network network := settings[keys.Sn_node_network].(string) - if network == "Goerli Testnet" { + if network == config.GoerliTestnet { newCfg.ChangeNetwork(cfgtypes.Network_Prater) - } else if network == "Ethereum Mainnet" { + } else if network == config.EthereumMainnet { newCfg.ChangeNetwork(cfgtypes.Network_Mainnet) + } else if network == config.HoleskyTestnet { + newCfg.ChangeNetwork(cfgtypes.Network_Holesky) } // Stader node config @@ -116,9 +118,11 @@ func setUIStaderNode(cfg *stdCf.StaderConfig, settings map[string]interface{}) e switch staderNode.Network.Value.(cfgtypes.Network) { case cfgtypes.Network_Prater: - settings[keys.Sn_node_network] = "Goerli Testnet" + settings[keys.Sn_node_network] = config.GoerliTestnet case cfgtypes.Network_Mainnet: - settings[keys.Sn_node_network] = "Ethereum Mainnet" + settings[keys.Sn_node_network] = config.EthereumMainnet + case cfgtypes.Network_Holesky: + settings[keys.Sn_node_network] = config.HoleskyTestnet } settings[keys.Sn_project_title] = staderNode.ProjectName.Value diff --git a/stader-cli/service/migration.go b/stader-cli/service/migration.go index 41e22017e..d49b4d8db 100644 --- a/stader-cli/service/migration.go +++ b/stader-cli/service/migration.go @@ -59,6 +59,11 @@ func migrate(c *cli.Context) (runBeforeUpgrades, rundAfterUpgrades []ConfigUpgra return nil, nil, err } + v152, err := parseVersion("1.5.2") + if err != nil { + return nil, nil, err + } + // Create the collection of upgraders upgraders := []ConfigUpgrader{ { @@ -90,6 +95,11 @@ func migrate(c *cli.Context) (runBeforeUpgrades, rundAfterUpgrades []ConfigUpgra upgradeFunc: func(c *cli.Context) error { return nil }, needInstall: true, }, + { + version: v152, + upgradeFunc: func(c *cli.Context) error { return nil }, + needInstall: true, + }, } staderClient, err := stader.NewClientFromCtx(c) From bf16f6ada07a440d128ee672fb853649bf1aaab4 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 19 Mar 2024 23:03:35 +0700 Subject: [PATCH 02/15] Capella fork --- shared/services/beacon/client/std-http-client.go | 2 ++ shared/services/config/nimbus-config.go | 1 + shared/utils/eth2/eth2.go | 1 + 3 files changed, 4 insertions(+) diff --git a/shared/services/beacon/client/std-http-client.go b/shared/services/beacon/client/std-http-client.go index d0e5e664e..018161ac1 100644 --- a/shared/services/beacon/client/std-http-client.go +++ b/shared/services/beacon/client/std-http-client.go @@ -435,6 +435,8 @@ func (c *StandardHttpClient) GetExitDomainData(domainType []byte, network config // TODO - we currently only support mainnet and testnet envs. We will have to update this as we change n/ws if network == config.Network_Mainnet { capellaForkVersion = eth2.MainnetCapellaForkVersion + } else if network == config.Network_Holesky { + capellaForkVersion = eth2.HoleskyCapellaForkVersion } else { capellaForkVersion = eth2.GoerliCapellaForkVersion } diff --git a/shared/services/config/nimbus-config.go b/shared/services/config/nimbus-config.go index 66938929a..ca681bc83 100644 --- a/shared/services/config/nimbus-config.go +++ b/shared/services/config/nimbus-config.go @@ -105,6 +105,7 @@ func NewNimbusConfig(cfg *StaderConfig) *NimbusConfig { Default: map[config.Network]interface{}{ config.Network_Mainnet: nimbusVcTagProd, config.Network_Prater: nimbusVcTagTest, + config.Network_Holesky: nimbusVcTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, EnvironmentVariables: []string{"VC_CONTAINER_TAG"}, diff --git a/shared/utils/eth2/eth2.go b/shared/utils/eth2/eth2.go index 8134e9686..b426449f6 100644 --- a/shared/utils/eth2/eth2.go +++ b/shared/utils/eth2/eth2.go @@ -26,6 +26,7 @@ import ( const ( GoerliCapellaForkVersion = "0x03001020" MainnetCapellaForkVersion = "0x03000000" + HoleskyCapellaForkVersion = "0x04017000" ) // Get an eth2 epoch number by time From 1b2b2857789de17d3c8cd7d290b8160541c87288 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 26 Mar 2024 15:58:36 +0700 Subject: [PATCH 03/15] Update MEV --- install/scripts/start-mev-boost.sh | 4 +++- shared/services/config/mev-boost-config.go | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/install/scripts/start-mev-boost.sh b/install/scripts/start-mev-boost.sh index 5f1c73317..52052afd7 100755 --- a/install/scripts/start-mev-boost.sh +++ b/install/scripts/start-mev-boost.sh @@ -24,7 +24,9 @@ if [ "$NETWORK" = "mainnet" ]; then elif [ "$NETWORK" = "prater" ]; then MEV_NETWORK="goerli" elif [ "$NETWORK" = "devnet" ]; then - MEV_NETWORK="goerli" + MEV_NETWORK="holesky" +elif [ "$NETWORK" = "holesky" ]; then + MEV_NETWORK="holesky" else echo "Unknown network [$NETWORK]" exit 1 diff --git a/shared/services/config/mev-boost-config.go b/shared/services/config/mev-boost-config.go index 6b510bb6c..a3f673af6 100644 --- a/shared/services/config/mev-boost-config.go +++ b/shared/services/config/mev-boost-config.go @@ -433,7 +433,6 @@ func createDefaultRelays() []config.MevRelay { Urls: map[config.Network]string{ config.Network_Mainnet: "https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com?id=staderlabs", config.Network_Prater: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com?id=staderlabs", - config.Network_Holesky: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.holesky.blxrbdn.com?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -472,7 +471,6 @@ func createDefaultRelays() []config.MevRelay { Description: "The ultra sound relay is a credibly-neutral and permissionless relay — a public good from the ultrasound.money team.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money?id=staderlabs", - config.Network_Prater: "https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money?id=staderlabs", config.Network_Holesky: "https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-stag.ultrasound.money?id=staderlabs", }, Regulated: false, @@ -485,7 +483,6 @@ func createDefaultRelays() []config.MevRelay { Description: "The Aestus MEV-Boost Relay is an independent and non-censoring relay. It is committed to neutrality and the development of a healthy MEV-Boost ecosystem.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live?id=staderlabs", - config.Network_Prater: "https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@goerli.aestus.live?id=staderlabs", config.Network_Holesky: "https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live?id=staderlabs", }, Regulated: false, From 2786822d2ad9126c553b9dc730b89d01f5afba59 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 26 Mar 2024 17:23:41 +0700 Subject: [PATCH 04/15] Update status --- shared/utils/cli/utils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/utils/cli/utils.go b/shared/utils/cli/utils.go index 8d30a8a54..0b6f7f75a 100644 --- a/shared/utils/cli/utils.go +++ b/shared/utils/cli/utils.go @@ -136,7 +136,7 @@ func PrintNetwork(staderClient *stader.Client) error { case cfgtypes.Network_Prater: fmt.Printf("Your Stader Node is currently using the %sGoerli Test Network.%s\n\n", colorLightBlue, colorReset) case cfgtypes.Network_Holesky: - fmt.Printf("Your Smartnode is currently using the %sHolesky Test Network.%s\n\n", colorYellow, colorReset) + fmt.Printf("Your Stader Node is currently using the %sHolesky Test Network.%s\n\n", colorLightBlue, colorReset) default: fmt.Printf("%sYou are on an unexpected network [%v].%s\n\n", colorYellow, currentNetwork, colorReset) } From 378053814d2876703b4070e8d0555ec23ceb305a Mon Sep 17 00:00:00 2001 From: batphonghan Date: Thu, 28 Mar 2024 13:21:06 +0700 Subject: [PATCH 05/15] Update URL --- install/scripts/start-bn.sh | 1 - install/templates/eth1.tmpl | 1 - install/templates/eth2.tmpl | 1 - install/templates/validator.tmpl | 1 - shared/services/config/lighthouse-config.go | 8 ++++---- shared/services/config/stadernode-config.go | 4 ++-- 6 files changed, 6 insertions(+), 10 deletions(-) diff --git a/install/scripts/start-bn.sh b/install/scripts/start-bn.sh index 27947c9eb..5dbe83b71 100755 --- a/install/scripts/start-bn.sh +++ b/install/scripts/start-bn.sh @@ -89,7 +89,6 @@ if [ "$CC_CLIENT" = "lighthouse" ]; then --staking \ --http-allow-sync-stalled \ --execution-jwt=/secrets/jwtsecret \ - --always-prefer-builder-payload \ --historic-state-cache-size 2 \ $BN_ADDITIONAL_FLAGS" diff --git a/install/templates/eth1.tmpl b/install/templates/eth1.tmpl index bdee25e2d..4566d689c 100644 --- a/install/templates/eth1.tmpl +++ b/install/templates/eth1.tmpl @@ -37,7 +37,6 @@ services: - eth1clientdata:/ethclient - ${STADER_FOLDER}/scripts:/setup:ro - ${STADER_DATA_FOLDER}/secrets:/secrets - - ${STADER_FOLDER}/zhejiang:/zhejiang networks: - net environment: diff --git a/install/templates/eth2.tmpl b/install/templates/eth2.tmpl index 3bc57d9cc..7dc14dae0 100644 --- a/install/templates/eth2.tmpl +++ b/install/templates/eth2.tmpl @@ -37,7 +37,6 @@ services: - ${STADER_DATA_FOLDER}/secrets:/secrets:ro - eth2clientdata:/ethclient - ${STADER_FOLDER}/scripts:/setup:ro - - ${STADER_FOLDER}/zhejiang:/zhejiang networks: - net environment: diff --git a/install/templates/validator.tmpl b/install/templates/validator.tmpl index a10d2ccad..8680320ff 100644 --- a/install/templates/validator.tmpl +++ b/install/templates/validator.tmpl @@ -35,7 +35,6 @@ services: - ${STADER_DATA_FOLDER}/validators:/validators - ${STADER_FOLDER}/scripts:/setup:ro - ${STADER_FOLDER}/addons:/addons - - ${STADER_FOLDER}/zhejiang:/zhejiang networks: - net environment: diff --git a/shared/services/config/lighthouse-config.go b/shared/services/config/lighthouse-config.go index dd1301025..551c15d3d 100644 --- a/shared/services/config/lighthouse-config.go +++ b/shared/services/config/lighthouse-config.go @@ -25,10 +25,10 @@ import ( ) const ( - lighthouseTagPortableTest string = "sigp/lighthouse:v5.1.0" - lighthouseTagPortableProd string = "sigp/lighthouse:v5.1.0" - lighthouseTagModernTest string = "sigp/lighthouse:v5.1.0-modern" - lighthouseTagModernProd string = "sigp/lighthouse:v5.1.0-modern" + lighthouseTagPortableTest string = "sigp/lighthouse:v5.1.2" + lighthouseTagPortableProd string = "sigp/lighthouse:v5.1.2" + lighthouseTagModernTest string = "sigp/lighthouse:v5.1.2-modern" + lighthouseTagModernProd string = "sigp/lighthouse:v5.1.2-modern" defaultLhMaxPeers uint16 = 80 ) diff --git a/shared/services/config/stadernode-config.go b/shared/services/config/stadernode-config.go index 75d37b856..6bf4eb9f7 100644 --- a/shared/services/config/stadernode-config.go +++ b/shared/services/config/stadernode-config.go @@ -262,9 +262,9 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { }, baseStaderBackendUrl: map[config.Network]string{ - config.Network_Prater: "https://ethx-offchain-preprod.staderlabs.com", - config.Network_Holesky: "https://stage-ethx-offchain.staderlabs.click", config.Network_Mainnet: "https://ethx-offchain.staderlabs.com", + config.Network_Holesky: "https://ethx-offchain-preprod.staderlabs.com", + config.Network_Prater: "https://stage-ethx-offchain.staderlabs.click", }, preSignEncryptionKey: map[config.Network]string{ From b5c14a3b2f28f34e024d7805d1766224e4fd86f8 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Thu, 28 Mar 2024 14:12:43 +0700 Subject: [PATCH 06/15] Using stage --- shared/services/config/stadernode-config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/services/config/stadernode-config.go b/shared/services/config/stadernode-config.go index 6bf4eb9f7..e1b7a77b8 100644 --- a/shared/services/config/stadernode-config.go +++ b/shared/services/config/stadernode-config.go @@ -268,8 +268,8 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { }, preSignEncryptionKey: map[config.Network]string{ - config.Network_Prater: stageEncryptionKey, - config.Network_Holesky: devEncryptionKey, + config.Network_Prater: devEncryptionKey, + config.Network_Holesky: stageEncryptionKey, config.Network_Mainnet: prodEncryptionKey, }, } From 5ae16df5efc8cda1097db4e8be57a2b1c3fd34b3 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Thu, 28 Mar 2024 15:56:38 +0700 Subject: [PATCH 07/15] Update UI --- go.mod | 9 ++------- go.sum | 8 ++++---- stader-cli/service/config.go | 11 ++++------- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index d1f5484da..95f50d549 100644 --- a/go.mod +++ b/go.mod @@ -35,8 +35,8 @@ require ( github.com/rivo/tview v0.0.0-20230621164836-6cc0565babaf // indirect github.com/sethvargo/go-password v0.2.0 github.com/shirou/gopsutil/v3 v3.23.1 - github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9 - github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9 + github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917 + github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917 github.com/tyler-smith/go-bip39 v1.1.0 github.com/urfave/cli v1.22.10 github.com/wealdtech/go-eth2-types/v2 v2.7.0 @@ -52,8 +52,3 @@ require ( ) replace github.com/rivo/tview => github.com/hamidraza/tview v1.0.0 - -// replace ( -// github.com/stader-labs/ethcli-ui/configuration => /Users/batphonghan/coding/stader_labs/ethcli-ui/configuration -// github.com/stader-labs/ethcli-ui/wizard => /Users/batphonghan/coding/stader_labs/ethcli-ui/wizard -// ) diff --git a/go.sum b/go.sum index c5042d8a8..fc1ec2a65 100644 --- a/go.sum +++ b/go.sum @@ -1231,10 +1231,10 @@ github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7Sr github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9 h1:UQiPYGY602kM1AyDdOsqnbMMrOOKvwpxg1oN+KbhxeQ= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240319024538-c5d8c0cf35f9/go.mod h1:gZcnx3O0sm+mEO2INhKDHw+iUzJH5tPaX4cv5SN5tsQ= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9 h1:aqWUaHMHBrVT9JvS/1+tEVkhE/o4MX8RFlNh23fWg/w= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240319024538-c5d8c0cf35f9/go.mod h1:5ojn2lxD9wd5sF0KYaHBDcpUC3ACFgqr0XG1atCIeAs= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917 h1:MWPbCTkEAiauO2n28ZwQ5DJFuS7ft1m8htjhw/iTPaI= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917/go.mod h1:gZcnx3O0sm+mEO2INhKDHw+iUzJH5tPaX4cv5SN5tsQ= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917 h1:ODdMw2LPpg+Wg/8wP5SmMvsl6iu4HufWAUm7g4w16nc= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917/go.mod h1:5ojn2lxD9wd5sF0KYaHBDcpUC3ACFgqr0XG1atCIeAs= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969 h1:Oo2KZNP70KE0+IUJSidPj/BFS/RXNHmKIJOdckzml2E= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= diff --git a/stader-cli/service/config.go b/stader-cli/service/config.go index a01410e67..f073c9750 100644 --- a/stader-cli/service/config.go +++ b/stader-cli/service/config.go @@ -56,11 +56,10 @@ func updateConfigFromUISetting(oldCfg *stdCf.StaderConfig, settings map[string]i newCfg := *oldCfg // update the network network := settings[keys.Sn_node_network].(string) - if network == config.GoerliTestnet { - newCfg.ChangeNetwork(cfgtypes.Network_Prater) - } else if network == config.EthereumMainnet { + + if network == config.EthereumMainnet { newCfg.ChangeNetwork(cfgtypes.Network_Mainnet) - } else if network == config.HoleskyTestnet { + } else { newCfg.ChangeNetwork(cfgtypes.Network_Holesky) } @@ -117,11 +116,9 @@ func setUIStaderNode(cfg *stdCf.StaderConfig, settings map[string]interface{}) e staderNode := cfg.StaderNode switch staderNode.Network.Value.(cfgtypes.Network) { - case cfgtypes.Network_Prater: - settings[keys.Sn_node_network] = config.GoerliTestnet case cfgtypes.Network_Mainnet: settings[keys.Sn_node_network] = config.EthereumMainnet - case cfgtypes.Network_Holesky: + default: settings[keys.Sn_node_network] = config.HoleskyTestnet } From 2b949cfe01e59acdb9632336f2154f9e15495e61 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Mon, 1 Apr 2024 10:26:28 +0700 Subject: [PATCH 08/15] Update deps --- go.mod | 4 ++-- go.sum | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 95f50d549..25b5e7c28 100644 --- a/go.mod +++ b/go.mod @@ -35,8 +35,8 @@ require ( github.com/rivo/tview v0.0.0-20230621164836-6cc0565babaf // indirect github.com/sethvargo/go-password v0.2.0 github.com/shirou/gopsutil/v3 v3.23.1 - github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917 - github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917 + github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240401032301-ba44ad7f2388 + github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240401032301-ba44ad7f2388 github.com/tyler-smith/go-bip39 v1.1.0 github.com/urfave/cli v1.22.10 github.com/wealdtech/go-eth2-types/v2 v2.7.0 diff --git a/go.sum b/go.sum index fc1ec2a65..33d3deef9 100644 --- a/go.sum +++ b/go.sum @@ -1231,10 +1231,10 @@ github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7Sr github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917 h1:MWPbCTkEAiauO2n28ZwQ5DJFuS7ft1m8htjhw/iTPaI= -github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240328085532-ca8e80758917/go.mod h1:gZcnx3O0sm+mEO2INhKDHw+iUzJH5tPaX4cv5SN5tsQ= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917 h1:ODdMw2LPpg+Wg/8wP5SmMvsl6iu4HufWAUm7g4w16nc= -github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240328085532-ca8e80758917/go.mod h1:5ojn2lxD9wd5sF0KYaHBDcpUC3ACFgqr0XG1atCIeAs= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240401032301-ba44ad7f2388 h1:gBMnIJ6ImRnLtR3svUvKNo/aaRm6pTaaTqJAsvDM4WI= +github.com/stader-labs/ethcli-ui/configuration v0.0.0-20240401032301-ba44ad7f2388/go.mod h1:cZXmAbD7pFlFRFpplBAvs0aZQQpn1mqrOFXvk1eG5GE= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240401032301-ba44ad7f2388 h1:UQnT1U0O6MMeFD4kwjRLzwnrsN9qEVoC2GYIif/EhyQ= +github.com/stader-labs/ethcli-ui/wizard v0.0.0-20240401032301-ba44ad7f2388/go.mod h1:foAYtd7iN9Dw69NtRaYaSw1x77IufSTxG5XMFfhPNCg= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969 h1:Oo2KZNP70KE0+IUJSidPj/BFS/RXNHmKIJOdckzml2E= github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= @@ -1692,7 +1692,6 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1700,7 +1699,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 81b016856f38db79bb0332bdba486b0a46b832ba Mon Sep 17 00:00:00 2001 From: batphonghan Date: Mon, 1 Apr 2024 10:33:33 +0700 Subject: [PATCH 09/15] Update scrips --- install/scripts/start-bn.sh | 6 ------ install/scripts/start-ec.sh | 4 ---- install/scripts/start-mev-boost.sh | 2 -- install/scripts/start-vc.sh | 5 ----- 4 files changed, 17 deletions(-) diff --git a/install/scripts/start-bn.sh b/install/scripts/start-bn.sh index 5dbe83b71..39e86f58a 100755 --- a/install/scripts/start-bn.sh +++ b/install/scripts/start-bn.sh @@ -43,12 +43,6 @@ if [ "$NETWORK" = "mainnet" ]; then PRYSM_NETWORK="--mainnet" TEKU_NETWORK="mainnet" PRYSM_GENESIS_STATE="" -elif [ "$NETWORK" = "prater" ]; then - LH_NETWORK="prater" - LODESTAR_NETWORK="goerli" - NIMBUS_NETWORK="prater" - PRYSM_NETWORK="--prater" - TEKU_NETWORK="prater" elif [ "$NETWORK" = "holesky" ]; then LH_NETWORK="holesky" LODESTAR_NETWORK="holesky" diff --git a/install/scripts/start-ec.sh b/install/scripts/start-ec.sh index 2834db3de..5ce667ab7 100755 --- a/install/scripts/start-ec.sh +++ b/install/scripts/start-ec.sh @@ -52,10 +52,6 @@ if [ "$NETWORK" = "mainnet" ]; then GETH_NETWORK="" STADER_NETHERMIND_NETWORK="mainnet" BESU_NETWORK="--network=mainnet" -elif [ "$NETWORK" = "prater" ]; then - GETH_NETWORK="--goerli" - STADER_NETHERMIND_NETWORK="goerli" - BESU_NETWORK="--network=goerli" elif [ "$NETWORK" = "holesky" ]; then GETH_NETWORK="--holesky" STADER_NETHERMIND_NETWORK="holesky" diff --git a/install/scripts/start-mev-boost.sh b/install/scripts/start-mev-boost.sh index 52052afd7..210c5366b 100755 --- a/install/scripts/start-mev-boost.sh +++ b/install/scripts/start-mev-boost.sh @@ -21,8 +21,6 @@ # Set up the network-based flag if [ "$NETWORK" = "mainnet" ]; then MEV_NETWORK="mainnet" -elif [ "$NETWORK" = "prater" ]; then - MEV_NETWORK="goerli" elif [ "$NETWORK" = "devnet" ]; then MEV_NETWORK="holesky" elif [ "$NETWORK" = "holesky" ]; then diff --git a/install/scripts/start-vc.sh b/install/scripts/start-vc.sh index f125f6326..686b9a6ec 100755 --- a/install/scripts/start-vc.sh +++ b/install/scripts/start-vc.sh @@ -27,11 +27,6 @@ if [ "$NETWORK" = "mainnet" ]; then LODESTAR_NETWORK="mainnet" PRYSM_NETWORK="--mainnet" TEKU_NETWORK="mainnet" -elif [ "$NETWORK" = "prater" ]; then - LH_NETWORK="prater" - LODESTAR_NETWORK="goerli" - PRYSM_NETWORK="--prater" - TEKU_NETWORK="prater" elif [ "$NETWORK" = "holesky" ]; then LH_NETWORK="holesky" LODESTAR_NETWORK="holesky" From b6b533f63bb1bea200eb741f37c94121c07b12cf Mon Sep 17 00:00:00 2001 From: batphonghan Date: Mon, 1 Apr 2024 10:43:21 +0700 Subject: [PATCH 10/15] Refactor --- shared/services/config/besu-params.go | 1 - shared/services/config/external-configs.go | 5 ----- shared/services/config/geth-params.go | 1 - shared/services/config/lighthouse-config.go | 1 - shared/services/config/lodestar-config.go | 1 - shared/services/config/mev-boost-config.go | 16 ++++++---------- shared/services/config/nethermind-params.go | 1 - shared/services/config/nimbus-config.go | 2 -- shared/services/config/prysm-config.go | 2 -- shared/services/config/stadernode-config.go | 13 +------------ shared/services/config/teku-config.go | 1 - shared/services/stader/client.go | 4 ++-- shared/types/config/types.go | 1 - shared/utils/cli/utils.go | 2 -- .../node/update-operator-reward-address.go | 4 ++-- 15 files changed, 11 insertions(+), 44 deletions(-) diff --git a/shared/services/config/besu-params.go b/shared/services/config/besu-params.go index 98d25d312..0d0dfb964 100644 --- a/shared/services/config/besu-params.go +++ b/shared/services/config/besu-params.go @@ -120,7 +120,6 @@ func NewBesuConfig(cfg *StaderConfig) *BesuConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: besuTagProd, - config.Network_Prater: besuTagTest, config.Network_Holesky: besuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, diff --git a/shared/services/config/external-configs.go b/shared/services/config/external-configs.go index 3f350500a..2471606b4 100644 --- a/shared/services/config/external-configs.go +++ b/shared/services/config/external-configs.go @@ -216,7 +216,6 @@ func NewExternalLighthouseConfig(cfg *StaderConfig) *ExternalLighthouseConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: getLighthouseTagProd(), - config.Network_Prater: getLighthouseTagTest(), config.Network_Holesky: getLighthouseTagTest(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, @@ -300,7 +299,6 @@ func NewExternalPrysmConfig(cfg *StaderConfig) *ExternalPrysmConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: getPrysmVcProdTag(), - config.Network_Prater: getPrysmVcTestTag(), config.Network_Holesky: getPrysmVcTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, @@ -373,7 +371,6 @@ func NewExternalNimbusConfig(cfg *StaderConfig) *ExternalNimbusConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: nimbusVcTagProd, - config.Network_Prater: nimbusVcTagTest, config.Network_Holesky: nimbusVcTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, @@ -433,7 +430,6 @@ func NewExternalTekuConfig(cfg *StaderConfig) *ExternalTekuConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: tekuTagProd, - config.Network_Prater: tekuTagTest, config.Network_Holesky: tekuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, @@ -516,7 +512,6 @@ func NewExternalLodestarConfig(cfg *StaderConfig) *ExternalLodestarConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: lodestarTagProd, - config.Network_Prater: lodestarTagTest, config.Network_Holesky: lodestarTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, diff --git a/shared/services/config/geth-params.go b/shared/services/config/geth-params.go index fc7bf603e..5b6213cdb 100644 --- a/shared/services/config/geth-params.go +++ b/shared/services/config/geth-params.go @@ -124,7 +124,6 @@ func NewGethConfig(cfg *StaderConfig) *GethConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: gethTagProd, - config.Network_Prater: gethTagTest, config.Network_Holesky: gethTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, diff --git a/shared/services/config/lighthouse-config.go b/shared/services/config/lighthouse-config.go index 551c15d3d..d1e335837 100644 --- a/shared/services/config/lighthouse-config.go +++ b/shared/services/config/lighthouse-config.go @@ -76,7 +76,6 @@ func NewLighthouseConfig(cfg *StaderConfig) *LighthouseConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: getLighthouseTagProd(), - config.Network_Prater: getLighthouseTagTest(), config.Network_Holesky: getLighthouseTagTest(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, diff --git a/shared/services/config/lodestar-config.go b/shared/services/config/lodestar-config.go index 526fe6e67..5b3a50a2d 100644 --- a/shared/services/config/lodestar-config.go +++ b/shared/services/config/lodestar-config.go @@ -73,7 +73,6 @@ func NewLodestarConfig(cfg *StaderConfig) *LodestarConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: lodestarTagProd, - config.Network_Prater: lodestarTagTest, config.Network_Holesky: lodestarTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, diff --git a/shared/services/config/mev-boost-config.go b/shared/services/config/mev-boost-config.go index a3f673af6..b2b69579f 100644 --- a/shared/services/config/mev-boost-config.go +++ b/shared/services/config/mev-boost-config.go @@ -418,7 +418,6 @@ func createDefaultRelays() []config.MevRelay { Description: "Flashbots is the developer of MEV-Boost, and one of the best-known and most trusted relays in the space.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=staderlabs", - config.Network_Prater: "https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@builder-relay-goerli.flashbots.net?id=staderlabs", config.Network_Holesky: "https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net?id=staderlabs", }, Regulated: true, @@ -432,7 +431,6 @@ func createDefaultRelays() []config.MevRelay { Description: "Select this to enable the \"max profit\" relay from bloXroute.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com?id=staderlabs", - config.Network_Prater: "https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.max-profit.builder.goerli.blxrbdn.com?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -457,7 +455,6 @@ func createDefaultRelays() []config.MevRelay { Description: "Eden Network is the home of Eden Relay, a block building hub focused on optimising block rewards for validators.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=staderlabs", - config.Network_Prater: "https://0xaa1488eae4b06a1fff840a2b6db167afc520758dc2c8af0dfb57037954df3431b747e2f900fe8805f05d635e9a29717b@relay-goerli.edennetwork.io?id=staderlabs", config.Network_Holesky: "https://0xb1d229d9c21298a87846c7022ebeef277dfc321fe674fa45312e20b5b6c400bfde9383f801848d7837ed5fc449083a12@relay-holesky.edennetwork.io?id=staderlabs", }, Regulated: true, @@ -495,7 +492,6 @@ func createDefaultRelays() []config.MevRelay { Description: "Agnostic Relay is an open-source MEV Boost relay available to anyone, anywhere in the world, without prejudice or privilege. It is an ideal relay for block producers and block builders trying to provide neutral features.", Urls: map[config.Network]string{ config.Network_Mainnet: "https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net?id=staderlabs", - config.Network_Prater: "https://0xa6bcad37b5d647152a93c2807d8a56055f1e0d7480eb6505d46edc21593e400f0f13738bf2e892f85946234629a3036a@goerli.agnostic-relay.net?id=staderlabs", }, Regulated: true, NoSandwiching: false, @@ -541,18 +537,18 @@ func generateProfileParameter(id string, relays []config.MevRelay, regulated boo mainnetDescription += strings.Join(mainnetRelays, ", ") // Generate the Prater description - praterRelays := []string{} - praterDescription := description + "\n\nRelays:\n" + holeskyRelays := []string{} + holeskyDescription := description + "\n\nRelays:\n" for _, relay := range relays { - _, exists := relay.Urls[config.Network_Prater] + _, exists := relay.Urls[config.Network_Holesky] if !exists { continue } if relay.Regulated == regulated && relay.NoSandwiching == noSandwiching { - praterRelays = append(praterRelays, relay.Name) + holeskyRelays = append(holeskyRelays, relay.Name) } } - praterDescription += strings.Join(praterRelays, ", ") + holeskyDescription += strings.Join(holeskyRelays, ", ") return config.Parameter{ ID: id, @@ -566,7 +562,7 @@ func generateProfileParameter(id string, relays []config.MevRelay, regulated boo OverwriteOnUpgrade: false, DescriptionsByNetwork: map[config.Network]string{ config.Network_Mainnet: mainnetDescription, - config.Network_Prater: praterDescription, + config.Network_Holesky: holeskyDescription, }, } } diff --git a/shared/services/config/nethermind-params.go b/shared/services/config/nethermind-params.go index 9eeb58524..c4cae358a 100644 --- a/shared/services/config/nethermind-params.go +++ b/shared/services/config/nethermind-params.go @@ -152,7 +152,6 @@ func NewNethermindConfig(cfg *StaderConfig) *NethermindConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: nethermindTagProd, - config.Network_Prater: nethermindTagTest, config.Network_Holesky: nethermindTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth1}, diff --git a/shared/services/config/nimbus-config.go b/shared/services/config/nimbus-config.go index ca681bc83..12bf3f652 100644 --- a/shared/services/config/nimbus-config.go +++ b/shared/services/config/nimbus-config.go @@ -88,7 +88,6 @@ func NewNimbusConfig(cfg *StaderConfig) *NimbusConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: nimbusBnTagProd, - config.Network_Prater: nimbusBnTagTest, config.Network_Holesky: nimbusBnTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2}, @@ -104,7 +103,6 @@ func NewNimbusConfig(cfg *StaderConfig) *NimbusConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: nimbusVcTagProd, - config.Network_Prater: nimbusVcTagTest, config.Network_Holesky: nimbusVcTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, diff --git a/shared/services/config/prysm-config.go b/shared/services/config/prysm-config.go index 9e52d937a..fa6d93d3b 100644 --- a/shared/services/config/prysm-config.go +++ b/shared/services/config/prysm-config.go @@ -117,7 +117,6 @@ func NewPrysmConfig(cfg *StaderConfig) *PrysmConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: getPrysmBnProdTag(), - config.Network_Prater: getPrysmBnTestTag(), config.Network_Holesky: getPrysmBnTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2}, @@ -133,7 +132,6 @@ func NewPrysmConfig(cfg *StaderConfig) *PrysmConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: getPrysmVcProdTag(), - config.Network_Prater: getPrysmVcTestTag(), config.Network_Holesky: getPrysmVcTestTag(), }, AffectsContainers: []config.ContainerID{config.ContainerID_Validator}, diff --git a/shared/services/config/stadernode-config.go b/shared/services/config/stadernode-config.go index e1b7a77b8..9548432b5 100644 --- a/shared/services/config/stadernode-config.go +++ b/shared/services/config/stadernode-config.go @@ -233,30 +233,25 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { beaconChainUrl: map[config.Network]string{ config.Network_Mainnet: "https://beaconcha.in", - config.Network_Prater: "https://prater.beaconcha.in", config.Network_Holesky: "https://holesky.beaconcha.in", }, txWatchUrl: map[config.Network]string{ config.Network_Mainnet: "https://etherscan.io/tx", - config.Network_Prater: "https://goerli.etherscan.io/tx", config.Network_Holesky: "https://holesky.etherscan.io/tx", }, chainID: map[config.Network]uint{ config.Network_Mainnet: 1, // Mainnet - config.Network_Prater: 5, // Goerli config.Network_Holesky: 17000, // Holesky }, ethxTokenAddress: map[config.Network]string{ - config.Network_Prater: "0x3338eCd3ab3d3503c55c931d759fA6d78d287236", config.Network_Holesky: "0xB4F5fc289a778B80392b86fa70A7111E5bE0F859", config.Network_Mainnet: "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b", }, staderConfigAddress: map[config.Network]string{ - config.Network_Prater: "0x2aa6cEd8Cf0a93884216BaE5dbF4299932aB577B", config.Network_Holesky: "0x50FD3384783EE49011E7b57d7A3430a762b3f3F2", config.Network_Mainnet: "0x4ABEF2263d5A5ED582FC9A9789a41D85b68d69DB", }, @@ -264,11 +259,9 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { baseStaderBackendUrl: map[config.Network]string{ config.Network_Mainnet: "https://ethx-offchain.staderlabs.com", config.Network_Holesky: "https://ethx-offchain-preprod.staderlabs.com", - config.Network_Prater: "https://stage-ethx-offchain.staderlabs.click", }, preSignEncryptionKey: map[config.Network]string{ - config.Network_Prater: devEncryptionKey, config.Network_Holesky: stageEncryptionKey, config.Network_Mainnet: prodEncryptionKey, }, @@ -558,14 +551,10 @@ func getNetworkOptions() []config.ParameterOption { Name: "Ethereum Mainnet", Description: "This is the real Ethereum main network, using real ETH to make real validators.", Value: config.Network_Mainnet, - }, { - Name: "Goerli Testnet", - Description: "This is the Goerli test network, using Goerli ETH to make demo validators.\nUse this if you want to practice running the Stadernode in a free, safe environment before moving to Mainnet.", - Value: config.Network_Prater, }, { Name: "Holesky Testnet", Description: "This is the Holesky test network, using Holesky ETH to make demo validators.\nUse this if you want to practice running the Stadernode in a free, safe environment before moving to Mainnet.", - Value: config.Network_Prater, + Value: config.Network_Holesky, }, } diff --git a/shared/services/config/teku-config.go b/shared/services/config/teku-config.go index f41a65711..0a1cff2ac 100644 --- a/shared/services/config/teku-config.go +++ b/shared/services/config/teku-config.go @@ -106,7 +106,6 @@ func NewTekuConfig(cfg *StaderConfig) *TekuConfig { Type: config.ParameterType_String, Default: map[config.Network]interface{}{ config.Network_Mainnet: tekuTagProd, - config.Network_Prater: tekuTagTest, config.Network_Holesky: tekuTagTest, }, AffectsContainers: []config.ContainerID{config.ContainerID_Eth2, config.ContainerID_Validator}, diff --git a/shared/services/stader/client.go b/shared/services/stader/client.go index 82cbf8ad1..8920cf4af 100644 --- a/shared/services/stader/client.go +++ b/shared/services/stader/client.go @@ -333,8 +333,8 @@ func (c *Client) MigrateLegacyConfig(legacyConfigFilePath string, legacySettings switch chainID { case "1": network = cfgtypes.Network_Mainnet - case "5": - network = cfgtypes.Network_Prater + case "17000": + network = cfgtypes.Network_Holesky default: return nil, fmt.Errorf("legacy config had an unknown chain ID [%s]", chainID) } diff --git a/shared/types/config/types.go b/shared/types/config/types.go index 3e0410c0a..0a491e276 100644 --- a/shared/types/config/types.go +++ b/shared/types/config/types.go @@ -53,7 +53,6 @@ const ( Network_Unknown Network = "" Network_All Network = "all" Network_Mainnet Network = "mainnet" - Network_Prater Network = "prater" Network_Holesky Network = "holesky" ) diff --git a/shared/utils/cli/utils.go b/shared/utils/cli/utils.go index 0b6f7f75a..d4ef00832 100644 --- a/shared/utils/cli/utils.go +++ b/shared/utils/cli/utils.go @@ -133,8 +133,6 @@ func PrintNetwork(staderClient *stader.Client) error { switch currentNetwork { case cfgtypes.Network_Mainnet: fmt.Printf("Your Stader Node is currently using the %sEthereum Mainnet.%s\n\n", colorGreen, colorReset) - case cfgtypes.Network_Prater: - fmt.Printf("Your Stader Node is currently using the %sGoerli Test Network.%s\n\n", colorLightBlue, colorReset) case cfgtypes.Network_Holesky: fmt.Printf("Your Stader Node is currently using the %sHolesky Test Network.%s\n\n", colorLightBlue, colorReset) default: diff --git a/stader-cli/node/update-operator-reward-address.go b/stader-cli/node/update-operator-reward-address.go index 68e0538a5..b03b91ce8 100644 --- a/stader-cli/node/update-operator-reward-address.go +++ b/stader-cli/node/update-operator-reward-address.go @@ -120,7 +120,7 @@ Note: Stader will continue to send rewards to your existing Reward Address until ` msg = fmt.Sprintf(msg, contractAddr.String()) fmt.Printf("%s %s %s\n", colorLightBlue, msg, colorReset) - case cfTypes.Network_Prater: + case cfTypes.Network_Holesky: msg := ` You have successfully raised a request to change your Reward Address. @@ -155,7 +155,7 @@ Note: Stader will continue to send rewards to your existing Reward Address until ` msg = fmt.Sprintf(msg, contractAddr.String()) fmt.Printf("%s %s %s\n\n", colorLightBlue, msg, colorReset) - case cfTypes.Network_Prater: + case cfTypes.Network_Holesky: msg := ` For node security, only your existing Reward Address can propose a change. To propose and confirm a Reward Address change, please use the PermissionlessNodeRegistry Smart Contract: https://goerli.etherscan.io/address/%s#writeProxyContract#F10 From f07c1cf1730f0b16999cfe9dcc083a614391f0ae Mon Sep 17 00:00:00 2001 From: batphonghan Date: Mon, 1 Apr 2024 11:22:01 +0700 Subject: [PATCH 11/15] Update clients --- shared/services/config/besu-params.go | 4 ++-- shared/services/config/nimbus-config.go | 8 ++++---- shared/services/config/prysm-config.go | 8 ++++---- shared/services/config/teku-config.go | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/shared/services/config/besu-params.go b/shared/services/config/besu-params.go index 0d0dfb964..70cd709ca 100644 --- a/shared/services/config/besu-params.go +++ b/shared/services/config/besu-params.go @@ -25,8 +25,8 @@ import ( // Constants const ( - besuTagTest string = "hyperledger/besu:24.3.0" - besuTagProd string = "hyperledger/besu:24.3.0" + besuTagTest string = "hyperledger/besu:24.4.0" + besuTagProd string = "hyperledger/besu:24.4.0" besuEventLogInterval int = 1000 besuMaxPeers uint16 = 25 besuStopSignal string = "SIGTERM" diff --git a/shared/services/config/nimbus-config.go b/shared/services/config/nimbus-config.go index 12bf3f652..7afa2bfa4 100644 --- a/shared/services/config/nimbus-config.go +++ b/shared/services/config/nimbus-config.go @@ -27,12 +27,12 @@ import ( const ( // Testnet - nimbusBnTagTest string = "statusim/nimbus-eth2:multiarch-v24.2.2" - nimbusVcTagTest string = "statusim/nimbus-validator-client:multiarch-v24.2.2" + nimbusBnTagTest string = "statusim/nimbus-eth2:multiarch-v24.3.2" + nimbusVcTagTest string = "statusim/nimbus-validator-client:multiarch-v24.3.2" // Mainnet - nimbusBnTagProd string = "statusim/nimbus-eth2:multiarch-v24.2.2" - nimbusVcTagProd string = "statusim/nimbus-validator-client:multiarch-v24.2.2" + nimbusBnTagProd string = "statusim/nimbus-eth2:multiarch-v24.3.2" + nimbusVcTagProd string = "statusim/nimbus-validator-client:multiarch-v24.3.2" defaultNimbusMaxPeersArm uint16 = 100 defaultNimbusMaxPeersAmd uint16 = 160 diff --git a/shared/services/config/prysm-config.go b/shared/services/config/prysm-config.go index fa6d93d3b..49083bdf4 100644 --- a/shared/services/config/prysm-config.go +++ b/shared/services/config/prysm-config.go @@ -27,11 +27,11 @@ import ( ) const ( - prysmBnTagTest string = "staderlabs/prysm:v5.0.1" - prysmVcTagTest string = "staderlabs/prysm:v5.0.1" + prysmBnTagTest string = "staderlabs/prysm:v5.0.2" + prysmVcTagTest string = "staderlabs/prysm:v5.0.2" - prysmBnTagProd string = "staderlabs/prysm:v5.0.1" - prysmVcTagProd string = "staderlabs/prysm:v5.0.1" + prysmBnTagProd string = "staderlabs/prysm:v5.0.2" + prysmVcTagProd string = "staderlabs/prysm:v5.0.2" defaultPrysmRpcPort uint16 = 5053 defaultPrysmOpenRpcPort bool = false diff --git a/shared/services/config/teku-config.go b/shared/services/config/teku-config.go index 0a1cff2ac..225597887 100644 --- a/shared/services/config/teku-config.go +++ b/shared/services/config/teku-config.go @@ -25,8 +25,8 @@ import ( ) const ( - tekuTagTest string = "consensys/teku:24.3.0" - tekuTagProd string = "consensys/teku:24.3.0" + tekuTagTest string = "consensys/teku:24.3.1" + tekuTagProd string = "consensys/teku:24.3.1" defaultTekuMaxPeers uint16 = 100 ) From c64f58118f234437f1ad648a3f5ea63fb0bf6325 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Mon, 1 Apr 2024 15:18:27 +0700 Subject: [PATCH 12/15] Update copies --- shared/services/config/besu-params.go | 4 ++-- shared/services/config/lodestar-config.go | 4 ++-- shared/services/config/stadernode-config.go | 2 +- shared/services/ec-manager.go | 2 ++ stader-cli/node/update-operator-reward-address.go | 4 ++-- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/shared/services/config/besu-params.go b/shared/services/config/besu-params.go index 70cd709ca..0d0dfb964 100644 --- a/shared/services/config/besu-params.go +++ b/shared/services/config/besu-params.go @@ -25,8 +25,8 @@ import ( // Constants const ( - besuTagTest string = "hyperledger/besu:24.4.0" - besuTagProd string = "hyperledger/besu:24.4.0" + besuTagTest string = "hyperledger/besu:24.3.0" + besuTagProd string = "hyperledger/besu:24.3.0" besuEventLogInterval int = 1000 besuMaxPeers uint16 = 25 besuStopSignal string = "SIGTERM" diff --git a/shared/services/config/lodestar-config.go b/shared/services/config/lodestar-config.go index 5b3a50a2d..c1d3b191d 100644 --- a/shared/services/config/lodestar-config.go +++ b/shared/services/config/lodestar-config.go @@ -24,8 +24,8 @@ import ( ) const ( - lodestarTagTest string = "chainsafe/lodestar:v1.16.0" - lodestarTagProd string = "chainsafe/lodestar:v1.16.0" + lodestarTagTest string = "chainsafe/lodestar:v1.17.0" + lodestarTagProd string = "chainsafe/lodestar:v1.17.0" defaultLodestarMaxPeers uint16 = 50 ) diff --git a/shared/services/config/stadernode-config.go b/shared/services/config/stadernode-config.go index 9548432b5..aadcfcbc8 100644 --- a/shared/services/config/stadernode-config.go +++ b/shared/services/config/stadernode-config.go @@ -173,7 +173,7 @@ func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig { Network: config.Parameter{ ID: NetworkID, Name: "Network", - Description: "The Ethereum network you want to use - select Goerli Testnet to practice with Goerli ETH, or Mainnet to stake on the real network using real ETH.", + Description: "The Ethereum network you want to use - select Holesky Testnet to practice with Holesky ETH, or Mainnet to stake on the real network using real ETH.", Type: config.ParameterType_Choice, Default: map[config.Network]interface{}{config.Network_All: config.Network_Mainnet}, AffectsContainers: []config.ContainerID{config.ContainerID_Api, config.ContainerID_Node, config.ContainerID_Guardian, config.ContainerID_Eth1, config.ContainerID_Eth2, config.ContainerID_Validator}, diff --git a/shared/services/ec-manager.go b/shared/services/ec-manager.go index f0d17b07e..d04ebea4d 100644 --- a/shared/services/ec-manager.go +++ b/shared/services/ec-manager.go @@ -399,6 +399,8 @@ func getNetworkNameFromId(networkId uint) string { return "Ethereum Mainnet" case 5: return "Goerli Testnet" + case 17000: + return "Holesky Testnet" default: return "Unknown Network" } diff --git a/stader-cli/node/update-operator-reward-address.go b/stader-cli/node/update-operator-reward-address.go index b03b91ce8..5be25fc34 100644 --- a/stader-cli/node/update-operator-reward-address.go +++ b/stader-cli/node/update-operator-reward-address.go @@ -125,7 +125,7 @@ Note: Stader will continue to send rewards to your existing Reward Address until You have successfully raised a request to change your Reward Address. To confirm the Reward Address change please follow these steps: -Step 1: Visit the PermissionlessNodeRegistry Smart Contract: https://goerli.etherscan.io/address/%s#writeProxyContract#F3 +Step 1: Visit the PermissionlessNodeRegistry Smart Contract: https://holesky.etherscan.io/address/%s#writeProxyContract#F3 Step 2: Confirm the Reward Address change by connecting your New Reward Address wallet with the Smart Contract and execute the "ConfirmRewardAddressChange" function. Please refer to the Reward Address change guide here - https://www.staderlabs.com/docs-v1/Ethereum/Node-operator/permissionless-node-operator/Update-reward-address/ @@ -157,7 +157,7 @@ Note: Stader will continue to send rewards to your existing Reward Address until fmt.Printf("%s %s %s\n\n", colorLightBlue, msg, colorReset) case cfTypes.Network_Holesky: msg := ` -For node security, only your existing Reward Address can propose a change. To propose and confirm a Reward Address change, please use the PermissionlessNodeRegistry Smart Contract: https://goerli.etherscan.io/address/%s#writeProxyContract#F10 +For node security, only your existing Reward Address can propose a change. To propose and confirm a Reward Address change, please use the PermissionlessNodeRegistry Smart Contract: https://holesky.etherscan.io/address/%s#writeProxyContract#F10 Follow these steps for your Reward Address change: Step 1: Propose the Reward Address change by connecting your Existing Reward Address wallet with the Smart Contract and execute the "ProposeRewardAddress" function. From f0c106561735d1f1bfa03dd1c6b1fdfe06b933ec Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 2 Apr 2024 20:11:29 +0700 Subject: [PATCH 13/15] Refactor --- install/scripts/start-ec.sh | 3 --- shared/services/beacon/client/std-http-client.go | 4 +--- shared/services/config/mev-boost-config.go | 2 +- shared/services/ec-manager.go | 2 -- shared/utils/eth2/eth2.go | 1 - shared/version.go | 2 +- stader-cli/service/migration.go | 4 ++-- 7 files changed, 5 insertions(+), 13 deletions(-) diff --git a/install/scripts/start-ec.sh b/install/scripts/start-ec.sh index 5ce667ab7..4354ed699 100755 --- a/install/scripts/start-ec.sh +++ b/install/scripts/start-ec.sh @@ -221,9 +221,6 @@ if [ "$CLIENT" = "nethermind" ]; then if [ "$ENABLE_METRICS" = "true" ]; then CMD="$CMD --Metrics.Enabled true --Metrics.ExposePort $EC_METRICS_PORT" -if [ "$NETWORK" == "prater" ]; then - CMD="$CMD --Metrics.PushGatewayUrl=\"\"" - fi fi if [ ! -z "$EC_P2P_PORT" ]; then diff --git a/shared/services/beacon/client/std-http-client.go b/shared/services/beacon/client/std-http-client.go index 018161ac1..d57256228 100644 --- a/shared/services/beacon/client/std-http-client.go +++ b/shared/services/beacon/client/std-http-client.go @@ -435,10 +435,8 @@ func (c *StandardHttpClient) GetExitDomainData(domainType []byte, network config // TODO - we currently only support mainnet and testnet envs. We will have to update this as we change n/ws if network == config.Network_Mainnet { capellaForkVersion = eth2.MainnetCapellaForkVersion - } else if network == config.Network_Holesky { - capellaForkVersion = eth2.HoleskyCapellaForkVersion } else { - capellaForkVersion = eth2.GoerliCapellaForkVersion + capellaForkVersion = eth2.HoleskyCapellaForkVersion } decodedForkVersion, err := hexutil.Decode(capellaForkVersion) diff --git a/shared/services/config/mev-boost-config.go b/shared/services/config/mev-boost-config.go index b2b69579f..8c6e059ca 100644 --- a/shared/services/config/mev-boost-config.go +++ b/shared/services/config/mev-boost-config.go @@ -536,7 +536,7 @@ func generateProfileParameter(id string, relays []config.MevRelay, regulated boo } mainnetDescription += strings.Join(mainnetRelays, ", ") - // Generate the Prater description + // Generate the holesky description holeskyRelays := []string{} holeskyDescription := description + "\n\nRelays:\n" for _, relay := range relays { diff --git a/shared/services/ec-manager.go b/shared/services/ec-manager.go index d04ebea4d..6ae5eb04a 100644 --- a/shared/services/ec-manager.go +++ b/shared/services/ec-manager.go @@ -397,8 +397,6 @@ func getNetworkNameFromId(networkId uint) string { switch networkId { case 1: return "Ethereum Mainnet" - case 5: - return "Goerli Testnet" case 17000: return "Holesky Testnet" default: diff --git a/shared/utils/eth2/eth2.go b/shared/utils/eth2/eth2.go index b426449f6..0c0b0757a 100644 --- a/shared/utils/eth2/eth2.go +++ b/shared/utils/eth2/eth2.go @@ -24,7 +24,6 @@ import ( ) const ( - GoerliCapellaForkVersion = "0x03001020" MainnetCapellaForkVersion = "0x03000000" HoleskyCapellaForkVersion = "0x04017000" ) diff --git a/shared/version.go b/shared/version.go index 5acd0969c..67e9caf6e 100644 --- a/shared/version.go +++ b/shared/version.go @@ -21,7 +21,7 @@ package shared const BinaryBucket string = "/stader-node-build/permissionless" const DockerAccount string = "staderlabs" -const StaderVersion string = "1.5.2" +const StaderVersion string = "1.6.0" const Logo string = ` _____ _ _ _ _ 𝅺 diff --git a/stader-cli/service/migration.go b/stader-cli/service/migration.go index d49b4d8db..232ae83c4 100644 --- a/stader-cli/service/migration.go +++ b/stader-cli/service/migration.go @@ -59,7 +59,7 @@ func migrate(c *cli.Context) (runBeforeUpgrades, rundAfterUpgrades []ConfigUpgra return nil, nil, err } - v152, err := parseVersion("1.5.2") + v160, err := parseVersion("1.6.0") if err != nil { return nil, nil, err } @@ -96,7 +96,7 @@ func migrate(c *cli.Context) (runBeforeUpgrades, rundAfterUpgrades []ConfigUpgra needInstall: true, }, { - version: v152, + version: v160, upgradeFunc: func(c *cli.Context) error { return nil }, needInstall: true, }, From 182e135117c62e714efd7b637eca4d5813844c7f Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 2 Apr 2024 20:18:25 +0700 Subject: [PATCH 14/15] Fix lint --- shared/services/config/mev-boost-config.go | 1 + shared/services/config/stader-config.go | 3 ++- stader-cli/service/migration.go | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/shared/services/config/mev-boost-config.go b/shared/services/config/mev-boost-config.go index 8c6e059ca..c524fae75 100644 --- a/shared/services/config/mev-boost-config.go +++ b/shared/services/config/mev-boost-config.go @@ -548,6 +548,7 @@ func generateProfileParameter(id string, relays []config.MevRelay, regulated boo holeskyRelays = append(holeskyRelays, relay.Name) } } + holeskyDescription += strings.Join(holeskyRelays, ", ") return config.Parameter{ diff --git a/shared/services/config/stader-config.go b/shared/services/config/stader-config.go index ef7b958f8..0dff50ccd 100644 --- a/shared/services/config/stader-config.go +++ b/shared/services/config/stader-config.go @@ -999,13 +999,14 @@ func (cfg *StaderConfig) GenerateEnvironmentVariables() map[string]string { // MEV-Boost if cfg.EnableMevBoost.Value == true { config.AddParametersToEnvVars(cfg.MevBoost.GetParameters(), envVars) + if cfg.MevBoost.Mode.Value == config.Mode_Local { envVars[mevBoostRelaysEnvVar] = cfg.MevBoost.GetRelayString() envVars[mevBoostUrlEnvVar] = fmt.Sprintf("http://%s:%d", MevBoostContainerName, cfg.MevBoost.Port.Value) // Handle open API port if cfg.MevBoost.OpenRpcPort.Value == true { - port := cfg.MevBoost.Port.Value.(uint16) + port, _ := cfg.MevBoost.Port.Value.(uint16) envVars["MEV_BOOST_OPEN_API_PORT"] = fmt.Sprintf("\"%d:%d/tcp\"", port, port) } } diff --git a/stader-cli/service/migration.go b/stader-cli/service/migration.go index 232ae83c4..ef9351565 100644 --- a/stader-cli/service/migration.go +++ b/stader-cli/service/migration.go @@ -97,7 +97,7 @@ func migrate(c *cli.Context) (runBeforeUpgrades, rundAfterUpgrades []ConfigUpgra }, { version: v160, - upgradeFunc: func(c *cli.Context) error { return nil }, + upgradeFunc: func(_ *cli.Context) error { return nil }, needInstall: true, }, } From 276c8e2c80b659020e207a3a573163fa0ac2d069 Mon Sep 17 00:00:00 2001 From: batphonghan Date: Tue, 2 Apr 2024 20:21:52 +0700 Subject: [PATCH 15/15] Fix lint --- shared/services/config/stader-config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/services/config/stader-config.go b/shared/services/config/stader-config.go index 0dff50ccd..999f2d3ef 100644 --- a/shared/services/config/stader-config.go +++ b/shared/services/config/stader-config.go @@ -1112,7 +1112,7 @@ func (cfg *StaderConfig) Validate() []string { if cfg.MevBoost.ExternalUrl.Value.(string) == "" { errors = append(errors, "You have MEV-boost enabled in external mode but don't have a URL set. Please enter the external MEV-boost server URL to use it.") } - default: + case config.Mode_Unknown: errors = append(errors, "You do not have a MEV-Boost mode configured. You must select a mode in the `stader-cli service config` UI.\nNote that MEV-Boost will be required in a future update, at which point you can no longer disable it.") } }