From 0ccfc9df9d8a50276539dd6b5525f0baf17c1e3e Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 17:31:25 +0530 Subject: [PATCH 1/6] holesky ready cdvn --- .env.sample | 14 ++-- .env.sample.mainnet | 14 ++-- docker-compose.override.yml.sample | 6 +- docker-compose.yml | 64 +++++++++---------- ...ighthouse.yml => geth_teku_lighthouse.yml} | 62 +++++++++--------- prometheus/prometheus.yml | 4 +- 6 files changed, 84 insertions(+), 80 deletions(-) rename examples/{nethermind_teku_lighthouse.yml => geth_teku_lighthouse.yml} (80%) diff --git a/.env.sample b/.env.sample index bc87bd5..999c6c4 100644 --- a/.env.sample +++ b/.env.sample @@ -7,14 +7,16 @@ # Enables builder api for lodestar VC and charon services. #BUILDER_API_ENABLED= -######### Geth Config ######### +######### Nethermind Config ######### -# Geth docker container image version, e.g. `latest` or `v1.13.11`. -# See available tags https://hub.docker.com/r/ethereum/client-go/tags -#GETH_VERSION= +# Nethermind docker container image version, e.g. `latest` or `1.25.3`. +# See available tags https://hub.docker.com/r/nethermind/nethermind/tags +#NETHERMIND_VERSION= -# Geth host exposed ports -#GETH_PORT_P2P= +# Nethermind host exposed ports +#NETHERMIND_PORT_P2P= +#NETHERMIND_PORT_HTTP= +#NETHERMIND_PORT_ENGINE= ######### Lighthouse Config ######### diff --git a/.env.sample.mainnet b/.env.sample.mainnet index 0804863..63d379f 100644 --- a/.env.sample.mainnet +++ b/.env.sample.mainnet @@ -7,14 +7,16 @@ NETWORK=mainnet # Enables builder api for lodestar VC and charon services. #BUILDER_API_ENABLED= -######### Geth Config ######### +######### Nethermind Config ######### -# Geth docker container image version, e.g. `latest` or `v1.13.11`. -# See available tags https://hub.docker.com/r/ethereum/client-go/tags -#GETH_VERSION= +# Nethermind docker container image version, e.g. `latest` or `1.25.3`. +# See available tags https://hub.docker.com/r/nethermind/nethermind/tags +#NETHERMIND_VERSION= -# Geth host exposed ports -#GETH_PORT_P2P= +# Nethermind host exposed ports +#NETHERMIND_PORT_P2P= +#NETHERMIND_PORT_HTTP= +#NETHERMIND_PORT_ENGINE= ######### Lighthouse Config ######### diff --git a/docker-compose.override.yml.sample b/docker-compose.override.yml.sample index ddc98b7..1448386 100644 --- a/docker-compose.override.yml.sample +++ b/docker-compose.override.yml.sample @@ -15,10 +15,10 @@ # and how the local docker-compose.yml is configured. #services: - #geth: - # Disable geth + #nethermind: + # Disable nethermind #profiles: [disable] - # Bind geth internal ports to host ports + # Bind nethermind internal ports to host ports #ports: #- 8545:8545 # JSON-RPC #- 8551:8551 # AUTH-RPC diff --git a/docker-compose.yml b/docker-compose.yml index 18b3d55..a7a8b90 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,38 +5,34 @@ version: "3.8" # ${VARIABLE-default} evaluates to default only if VARIABLE is unset in the environment. services: - # _ _ - # __ _ ___| |_| |__ - # / _` |/ _ \ __| '_ \ - # | (_| | __/ |_| | | | - # \__, |\___|\__|_| |_| - # |___/ - - geth: - image: ethereum/client-go:${GETH_VERSION:-v1.13.11} + # _ _ _ _ + # _ __ ___| |_| |__ ___ _ __ _ __ ___ (_)_ __ __| | + # | '_ \ / _ \ __| '_ \ / _ \ '__| '_ ` _ \| | '_ \ / _` | + # | | | | __/ |_| | | | __/ | | | | | | | | | | | (_| | + # |_| |_|\___|\__|_| |_|\___|_| |_| |_| |_|_|_| |_|\__,_| + nethermind: + image: nethermind/nethermind:${NETHERMIND_VERSION:-1.19.1} + restart: unless-stopped ports: - - ${GETH_PORT_P2P:-30303}:30303/tcp # P2P TCP - - ${GETH_PORT_P2P:-30303}:30303/udp # P2P UDP + - ${NETHERMIND_PORT_P2P:-30303}:30303/tcp # P2P TCP + - ${NETHERMIND_PORT_P2P:-30303}:30303/udp # P2P UDP command: | - --${NETWORK:-goerli} - --http - --http.addr=0.0.0.0 - --http.port=8545 - --http.vhosts="*" - --http.api="db,eth,net,engine,rpc,web3" - --authrpc.jwtsecret="/root/jwt/jwt.hex" - --authrpc.addr=0.0.0.0 - --authrpc.port=8551 - --authrpc.vhosts="*" - --metrics - --metrics.addr=0.0.0.0 - --metrics.port=6060 + --config=${NETWORK:-holesky} + --datadir=data + --JsonRpc.Enabled=true + --JsonRpc.JwtSecretFile="/root/jwt/jwt.hex" + --JsonRpc.EngineHost=0.0.0.0 + --JsonRpc.EnginePort=8551 + --JsonRpc.Host=0.0.0.0 + --JsonRpc.Port=8545 + --Sync.SnapSync=true + --HealthChecks.Enabled=true + --Metrics.Enabled=true + --Metrics.ExposePort=8008 networks: [dvnode] - stop_grace_period: 2m volumes: - - ./data/geth:/root/.ethereum - - ./jwt:/root/jwt - restart: unless-stopped + - ../data/nethermind:/nethermind/data + - ../jwt:/root/jwt # _ _ _ _ _ # | (_) __ _| |__ | |_| |__ ___ _ _ ___ ___ @@ -52,9 +48,9 @@ services: - ${LIGHTHOUSE_PORT_P2P:-9000}:9000/udp # P2P UDP command: | lighthouse bn - --network=${NETWORK:-goerli} - --checkpoint-sync-url=${LIGHTHOUSE_CHECKPOINT_SYNC_URL:-https://checkpoint-sync.goerli.ethpandaops.io} - --execution-endpoint=http://geth:8551 + --network=${NETWORK:-holesky} + --checkpoint-sync-url=${LIGHTHOUSE_CHECKPOINT_SYNC_URL:-https://checkpoint-sync.holesky.ethpandaops.io} + --execution-endpoint=http://nethermind:8551 --execution-jwt=/opt/jwt/jwt.hex --datadir=/opt/app/beacon/ --builder=http://mev-boost:18550 @@ -111,7 +107,7 @@ services: networks: [dvnode] environment: BEACON_NODE_ADDRESS: http://charon:3600 - NETWORK: ${NETWORK:-goerli} + NETWORK: ${NETWORK:-holesky} BUILDER_API_ENABLED: ${BUILDER_API_ENABLED:-false} volumes: - ./lodestar/run.sh:/opt/lodestar/run.sh @@ -128,11 +124,11 @@ services: image: flashbots/mev-boost:${MEVBOOST_VERSION:-1.6} networks: [dvnode] command: | - -${NETWORK:-goerli} + -${NETWORK:-holesky} -loglevel=debug -addr=0.0.0.0:18550 -relay-check - -relays=${MEVBOOST_RELAYS:-"https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-goerli.flashbots.net"} + -relays=${MEVBOOST_RELAYS:-"https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net,https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz"} restart: unless-stopped # _ _ _ diff --git a/examples/nethermind_teku_lighthouse.yml b/examples/geth_teku_lighthouse.yml similarity index 80% rename from examples/nethermind_teku_lighthouse.yml rename to examples/geth_teku_lighthouse.yml index cfc2c9f..2708381 100644 --- a/examples/nethermind_teku_lighthouse.yml +++ b/examples/geth_teku_lighthouse.yml @@ -5,34 +5,38 @@ version: "3.8" # ${VARIABLE-default} evaluates to default only if VARIABLE is unset in the environment. services: - # _ _ _ _ - # _ __ ___| |_| |__ ___ _ __ _ __ ___ (_)_ __ __| | - # | '_ \ / _ \ __| '_ \ / _ \ '__| '_ ` _ \| | '_ \ / _` | - # | | | | __/ |_| | | | __/ | | | | | | | | | | | (_| | - # |_| |_|\___|\__|_| |_|\___|_| |_| |_| |_|_|_| |_|\__,_| - nethermind: - image: nethermind/nethermind:${NETHERMIND_VERSION:-1.19.1} - restart: unless-stopped + # _ _ + # __ _ ___| |_| |__ + # / _` |/ _ \ __| '_ \ + # | (_| | __/ |_| | | | + # \__, |\___|\__|_| |_| + # |___/ + + geth: + image: ethereum/client-go:${GETH_VERSION:-v1.13.11} ports: - - ${NETHERMIND_PORT_P2P:-30303}:30303/tcp # P2P TCP - - ${NETHERMIND_PORT_P2P:-30303}:30303/udp # P2P UDP + - ${GETH_PORT_P2P:-30303}:30303/tcp # P2P TCP + - ${GETH_PORT_P2P:-30303}:30303/udp # P2P UDP command: | - --config=${NETWORK:-goerli} - --datadir=data - --JsonRpc.Enabled=true - --JsonRpc.JwtSecretFile="/root/jwt/jwt.hex" - --JsonRpc.EngineHost=0.0.0.0 - --JsonRpc.EnginePort=8551 - --JsonRpc.Host=0.0.0.0 - --JsonRpc.Port=8545 - --Sync.SnapSync=true - --HealthChecks.Enabled=true - --Metrics.Enabled=true - --Metrics.ExposePort=8008 + --${NETWORK:-holesky} + --http + --http.addr=0.0.0.0 + --http.port=8545 + --http.vhosts="*" + --http.api="db,eth,net,engine,rpc,web3" + --authrpc.jwtsecret="/root/jwt/jwt.hex" + --authrpc.addr=0.0.0.0 + --authrpc.port=8551 + --authrpc.vhosts="*" + --metrics + --metrics.addr=0.0.0.0 + --metrics.port=6060 networks: [dvnode] + stop_grace_period: 2m volumes: - - ../data/nethermind:/nethermind/data - - ../jwt:/root/jwt + - ./data/geth:/root/.ethereum + - ./jwt:/root/jwt + restart: unless-stopped # _ _ # _ __ ___ _____ __ | |__ ___ ___ ___| |_ @@ -43,11 +47,11 @@ services: image: flashbots/mev-boost:${MEVBOOST_VERSION:-1.5.0} networks: [dvnode] command: | - -${NETWORK:-goerli} + -${NETWORK:-holesky} -loglevel=debug -addr=0.0.0.0:18550 -relay-check - -relays=${MEVBOOST_RELAYS:-"https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-goerli.flashbots.net"} + -relays=${MEVBOOST_RELAYS:-"https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net,https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz"} restart: unless-stopped # _ _ @@ -62,7 +66,7 @@ services: - ${TEKU_PORT_P2P:-9000}:9000/tcp # P2P TCP - ${TEKU_PORT_P2P:-9000}:9000/udp # P2P UDP command: | - --network=${NETWORK:-goerli} + --network=${NETWORK:-holesky} --rest-api-enabled=true --rest-api-interface=0.0.0.0 --rest-api-port=4000 @@ -74,7 +78,7 @@ services: --metrics-host-allowlist=* --metrics-interface=0.0.0.0 --metrics-port=5054 - --initial-state=https://goerli.checkpoint-sync.ethpandaops.io/eth/v2/debug/beacon/states/finalized + --initial-state=https://checkpoint-sync.holesky.ethpandaops.io/eth/v2/debug/beacon/states/finalized --builder-endpoint=http://mev_boost:18550 networks: [dvnode] volumes: @@ -124,7 +128,7 @@ services: restart: unless-stopped environment: LIGHTHOUSE_BEACON_NODE_ADDRESS: http://charon:3600 - NETWORK: ${NETWORK:-goerli} + NETWORK: ${NETWORK:-holesky} BUILDER_API_ENABLED: ${BUILDER_API_ENABLED:-false} volumes: - ./lighthouse/run.sh:/opt/lighthouse/run.sh diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index 5fc59ad..1925e3e 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -12,10 +12,10 @@ remote_write: action: keep # Keeps charon metrics and drop metrics from other containers. scrape_configs: - - job_name: "geth" + - job_name: "nethermind" metrics_path: /debug/metrics/prometheus static_configs: - - targets: ["geth:6060"] + - targets: ["nethermind:6060"] - job_name: "lighthouse" static_configs: - targets: ["lighthouse:5054"] From fb0edb39352a552ef0c720b4f30d9a446c16c4c3 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 17:34:12 +0530 Subject: [PATCH 2/6] update nethermind version --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index a7a8b90..7949530 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: # | | | | __/ |_| | | | __/ | | | | | | | | | | | (_| | # |_| |_|\___|\__|_| |_|\___|_| |_| |_| |_|_|_| |_|\__,_| nethermind: - image: nethermind/nethermind:${NETHERMIND_VERSION:-1.19.1} + image: nethermind/nethermind:${NETHERMIND_VERSION:-1.25.3} restart: unless-stopped ports: - ${NETHERMIND_PORT_P2P:-30303}:30303/tcp # P2P TCP From 82e9771c808378ef3dd7fddf70b2e2501a8ed736 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 17:36:36 +0530 Subject: [PATCH 3/6] fix example compose --- examples/geth_teku_lighthouse.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/geth_teku_lighthouse.yml b/examples/geth_teku_lighthouse.yml index 2708381..54add70 100644 --- a/examples/geth_teku_lighthouse.yml +++ b/examples/geth_teku_lighthouse.yml @@ -72,7 +72,7 @@ services: --rest-api-port=4000 --rest-api-host-allowlist=* --data-path=/opt/data - --ee-endpoint=http://nethermind:8551 + --ee-endpoint=http://geth:8551 --ee-jwt-secret-file=/opt/jwt/jwt.hex --metrics-enabled=true --metrics-host-allowlist=* From 7a4226450f688d479367fd780530c8650ab56382 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 17:38:51 +0530 Subject: [PATCH 4/6] fix nethermind port --- prometheus/prometheus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index 1925e3e..2db9972 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -15,7 +15,7 @@ scrape_configs: - job_name: "nethermind" metrics_path: /debug/metrics/prometheus static_configs: - - targets: ["nethermind:6060"] + - targets: ["nethermind:8008"] - job_name: "lighthouse" static_configs: - targets: ["lighthouse:5054"] From bc61c64d4abf660eaae533d78ce3a1c6d6370ec1 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 20:24:53 +0530 Subject: [PATCH 5/6] fix mevboost --- .env.sample | 3 +++ docker-compose.yml | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.env.sample b/.env.sample index 999c6c4..c5fff23 100644 --- a/.env.sample +++ b/.env.sample @@ -75,6 +75,9 @@ # MEV-Boost docker container image version, e.g. `latest` or `1.6`. #MEVBOOST_VERSION= +# MEV-boost network to use. For goerli, set it to "0x00001020". +MEVBOOST_GENESIS_FORK_VERSION + # Comma separated list of MEV-Boost relays. # You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d. #MEVBOOST_RELAYS= diff --git a/docker-compose.yml b/docker-compose.yml index 7949530..82a8c6e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,8 +31,8 @@ services: --Metrics.ExposePort=8008 networks: [dvnode] volumes: - - ../data/nethermind:/nethermind/data - - ../jwt:/root/jwt + - ./data/nethermind:/nethermind/data + - ./jwt:/root/jwt # _ _ _ _ _ # | (_) __ _| |__ | |_| |__ ___ _ _ ___ ___ @@ -124,7 +124,7 @@ services: image: flashbots/mev-boost:${MEVBOOST_VERSION:-1.6} networks: [dvnode] command: | - -${NETWORK:-holesky} + -genesis-fork-version=${MEVBOOST_GENESIS_FORK_VERSION:-"0x01017000"} -loglevel=debug -addr=0.0.0.0:18550 -relay-check From 1e49e7c58310e1d476bc95882bc931fabcc4063c Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 8 Feb 2024 20:37:07 +0530 Subject: [PATCH 6/6] use mev-boost 1.6.1a3 --- .env.sample | 4 +--- docker-compose.yml | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.env.sample b/.env.sample index c5fff23..a8a5cc2 100644 --- a/.env.sample +++ b/.env.sample @@ -73,11 +73,9 @@ ######### MEV-Boost Config ######### # MEV-Boost docker container image version, e.g. `latest` or `1.6`. +# Note that mev-boost tag 1.6.1a3 supports the holesky network. #MEVBOOST_VERSION= -# MEV-boost network to use. For goerli, set it to "0x00001020". -MEVBOOST_GENESIS_FORK_VERSION - # Comma separated list of MEV-Boost relays. # You can choose public relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d. #MEVBOOST_RELAYS= diff --git a/docker-compose.yml b/docker-compose.yml index 82a8c6e..6f0467a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -121,10 +121,10 @@ services: # | | | | | | __/\ V /_____| |_) | (_) | (_) \__ \ |_ # |_| |_| |_|\___| \_/ |_.__/ \___/ \___/|___/\__| mev-boost: - image: flashbots/mev-boost:${MEVBOOST_VERSION:-1.6} + image: flashbots/mev-boost:${MEVBOOST_VERSION:-1.6.1a3} networks: [dvnode] command: | - -genesis-fork-version=${MEVBOOST_GENESIS_FORK_VERSION:-"0x01017000"} + -${NETWORK:-holesky} -loglevel=debug -addr=0.0.0.0:18550 -relay-check