From 4d267550bdfd1093074cd0a558cd3d24b952cc68 Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 14:19:55 +0100 Subject: [PATCH 1/6] chore(docker/holesky): add website --- testnets/holesky/docker-compose.pbs.yml | 3 ++- testnets/holesky/helix-config.yml | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/testnets/holesky/docker-compose.pbs.yml b/testnets/holesky/docker-compose.pbs.yml index aaae60f7f..3b7e60629 100644 --- a/testnets/holesky/docker-compose.pbs.yml +++ b/testnets/holesky/docker-compose.pbs.yml @@ -74,7 +74,8 @@ services: volumes: - "./helix-config.yml:/helix-config.yml" ports: - - "44040:4040" + - "44040:4040" # api + - "48080:8080" # relay website environment: - RELAY_KEY=0x607a11b45a7219cc61a3d9c5fd08c7eebd602a6a19a977f8d3771d5711a550f2 - RUST_LOG=helix_cmd=debug,helix_api=debug,helix_common=debug,helix_datastore=debug,helix_housekeeper=debug,helix_database=debug,helix_beacon_client=debug,helix_website=debug diff --git a/testnets/holesky/helix-config.yml b/testnets/holesky/helix-config.yml index 802b963ef..0eddcce4b 100644 --- a/testnets/holesky/helix-config.yml +++ b/testnets/holesky/helix-config.yml @@ -28,3 +28,15 @@ router_config: enabled_routes: [] network_config: !Holesky + +website: + enabled: true + port: 8080 + listen_address: "0.0.0.0" + show_config_details: false + network_name: "holesky" + relay_url: https://0xa55c1285d84ba83a5ad26420cd5ad3091e49c55a813eee651cd467db38a8c8e63192f47955e9376f6b42f6d190571cb5@relay-holesky.bolt.chainbound.io + relay_pubkey: 0xa55c1285d84ba83a5ad26420cd5ad3091e49c55a813eee651cd467db38a8c8e63192f47955e9376f6b42f6d190571cb5 + link_beaconchain: https://holesky.beaconcha.in + link_etherscan: https://holesky.etherscan.io + link_data_api: https://relay-holesky.bolt.chainbound.io From dbeacaa08cd4d80e26683f7190caa8c986cf73df Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 14:20:15 +0100 Subject: [PATCH 2/6] chore(docker/holesky): add other relays when setting up builder --- testnets/holesky/scripts/run-builder.sh | 61 +++++++++++++------------ 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/testnets/holesky/scripts/run-builder.sh b/testnets/holesky/scripts/run-builder.sh index 4af4bbf93..4d61f7d92 100755 --- a/testnets/holesky/scripts/run-builder.sh +++ b/testnets/holesky/scripts/run-builder.sh @@ -1,33 +1,34 @@ #!/bin/sh geth --datadir=/var/lib/chaindata/geth \ - --holesky \ - --syncmode=full \ - --gcmode=archive \ - --state.scheme=hash \ - --verbosity=3 \ - --http \ - --http.port=8545 \ - --http.addr=0.0.0.0 \ - --http.vhosts=* \ - --http.corsdomain=* \ - --http.api=admin,engine,net,eth,web3,debug,flashbots,txpool \ - --ws \ - --ws.addr=0.0.0.0 \ - --ws.port=8546 \ - --ws.api=admin,engine,net,eth,web3,debug,flashbots,txpool \ - --ws.origins=* \ - --authrpc.port=8551 \ - --authrpc.addr=0.0.0.0 \ - --authrpc.vhosts=* \ - --authrpc.jwtsecret=/var/lib/shared/jwtsecret \ - --metrics \ - --metrics.addr=0.0.0.0 \ - --metrics.port=6060 \ - --port=30303 \ - --builder \ - --builder.remote_relay_endpoint=http://helix-relay:4040 \ - --builder.beacon_endpoints=http://beacon:4000 \ - --builder.genesis_fork_version=0x01017000 \ - --miner.etherbase=0x614561D2d143621E126e87831AEF287678B442b8 \ - --miner.extradata="Bolt Builder" + --holesky \ + --syncmode=full \ + --gcmode=archive \ + --state.scheme=hash \ + --verbosity=3 \ + --http \ + --http.port=8545 \ + --http.addr=0.0.0.0 \ + --http.vhosts=* \ + --http.corsdomain=* \ + --http.api=admin,engine,net,eth,web3,debug,flashbots,txpool \ + --ws \ + --ws.addr=0.0.0.0 \ + --ws.port=8546 \ + --ws.api=admin,engine,net,eth,web3,debug,flashbots,txpool \ + --ws.origins=* \ + --authrpc.port=8551 \ + --authrpc.addr=0.0.0.0 \ + --authrpc.vhosts=* \ + --authrpc.jwtsecret=/var/lib/shared/jwtsecret \ + --metrics \ + --metrics.addr=0.0.0.0 \ + --metrics.port=6060 \ + --port=30303 \ + --builder \ + --builder.remote_relay_endpoint=http://helix-relay:4040 \ + --builder.secondary_remote_relay_endpoints=https://holesky-preconf.titanrelay.xyz,https://preconfs-holesky.aestus.live,https://bloxroute.holesky.blxrbdn.com \ + --builder.beacon_endpoints=http://beacon:4000 \ + --builder.genesis_fork_version=0x01017000 \ + --miner.etherbase=0x614561D2d143621E126e87831AEF287678B442b8 \ + --miner.extradata="Bolt Builder" From 950ed68572f1985d8e34aae3e10067cf86218060 Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 14:38:42 +0100 Subject: [PATCH 3/6] chore(docker/holesky): fmt bn --- testnets/holesky/scripts/run-bn.sh | 50 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/testnets/holesky/scripts/run-bn.sh b/testnets/holesky/scripts/run-bn.sh index 5fe326129..6ccd09e8d 100755 --- a/testnets/holesky/scripts/run-bn.sh +++ b/testnets/holesky/scripts/run-bn.sh @@ -1,28 +1,28 @@ #!/bin/sh lighthouse beacon_node \ - --network=holesky \ - --debug-level=info \ - --datadir=/var/lib/chaindata \ - --disable-enr-auto-update \ - --enr-udp-port=50050 \ - --enr-tcp-port=50050 \ - --listen-address=0.0.0.0 \ - --port=50050 \ - --http \ - --http-address=0.0.0.0 \ - --http-port=4000 \ - --http-allow-sync-stalled \ - --always-prepare-payload \ - --prepare-payload-lookahead=12000 \ - --slots-per-restore-point=32 \ - --disable-packet-filter \ - --checkpoint-sync-url=https://holesky.beaconstate.info \ - --execution-endpoints=http://builder:8551 \ - --subscribe-all-subnets \ - --metrics \ - --metrics-address=0.0.0.0 \ - --metrics-allow-origin=* \ - --metrics-port=5054 \ - --enable-private-discovery \ - --jwt-secrets=/var/lib/shared/jwtsecret + --network=holesky \ + --debug-level=info \ + --datadir=/var/lib/chaindata \ + --disable-enr-auto-update \ + --enr-udp-port=50050 \ + --enr-tcp-port=50050 \ + --listen-address=0.0.0.0 \ + --port=50050 \ + --http \ + --http-address=0.0.0.0 \ + --http-port=4000 \ + --http-allow-sync-stalled \ + --always-prepare-payload \ + --prepare-payload-lookahead=12000 \ + --slots-per-restore-point=32 \ + --disable-packet-filter \ + --checkpoint-sync-url=https://holesky.beaconstate.info \ + --execution-endpoints=http://builder:8551 \ + --subscribe-all-subnets \ + --metrics \ + --metrics-address=0.0.0.0 \ + --metrics-allow-origin=* \ + --metrics-port=5054 \ + --enable-private-discovery \ + --jwt-secrets=/var/lib/shared/jwtsecret From d10b237d8945317719d9f1ce03f7b8038b223128 Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 14:40:37 +0100 Subject: [PATCH 4/6] chore(docker/holesky): cleanup compose files --- testnets/holesky/docker-compose.pbs.yml | 11 +++++++++++ testnets/holesky/docker-compose.yml | 16 +++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/testnets/holesky/docker-compose.pbs.yml b/testnets/holesky/docker-compose.pbs.yml index 3b7e60629..965dced6d 100644 --- a/testnets/holesky/docker-compose.pbs.yml +++ b/testnets/holesky/docker-compose.pbs.yml @@ -62,6 +62,9 @@ services: - "41050:50050/udp" entrypoint: ["/bin/sh", "-c", "chmod +x /scripts/run-bn.sh && /scripts/run-bn.sh"] + # In case the sidecar on `docker-compose.yml` needs to connect to it + networks: + - bolt-holesky-default helix-relay: image: ghcr.io/chainbound/helix:v0.3.0-alpha.rc4 @@ -81,3 +84,11 @@ services: - RUST_LOG=helix_cmd=debug,helix_api=debug,helix_common=debug,helix_datastore=debug,helix_housekeeper=debug,helix_database=debug,helix_beacon_client=debug,helix_website=debug - RUST_BACKTRACE=1 command: --config /helix-config.yml + # `mev-boost` inside `docker-compose.yml` needs to communicate with this relay + networks: + - bolt-holesky-default + +# Requires spinning up docker compose with file `docker-compose.yml` before this one. +networks: + bolt-holesky-default: + external: true diff --git a/testnets/holesky/docker-compose.yml b/testnets/holesky/docker-compose.yml index c47f10cae..fc69a1621 100644 --- a/testnets/holesky/docker-compose.yml +++ b/testnets/holesky/docker-compose.yml @@ -21,8 +21,6 @@ services: - ${BOLT_SIDECAR_DELEGATIONS_PATH:-/dev/null}:/etc/delegations.json - ${BOLT_SIDECAR_KEYSTORE_PATH:-/dev/null}:/etc/keystores - ${BOLT_SIDECAR_KEYSTORE_SECRETS_PATH:-/dev/null}:/etc/secrets - networks: - - bolt-default bolt-mev-boost-holesky: image: ghcr.io/chainbound/bolt-mev-boost:v0.3.0-alpha @@ -30,8 +28,10 @@ services: restart: unless-stopped env_file: ./mev-boost.env entrypoint: /bin/sh -c '/app/mev-boost' + # MEV-Boost might need to communicate with the Helix relay in + # `docker-compose.pbs.yml` if the PBS stack is used. networks: - - bolt-default + - bolt-holesky-default bolt-prometheus-holesky: image: prom/prometheus:v2.55.1 @@ -42,8 +42,6 @@ services: - ./prometheus.yml:/etc/prometheus/prometheus.yml - ./targets.json:/etc/prometheus/targets.json - prometheus-data:/prometheus - networks: - - bolt-default bolt-cadvisor-holesky: image: gcr.io/cadvisor/cadvisor:latest @@ -55,8 +53,6 @@ services: - /var/run/docker.sock:/var/run/docker.sock:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - networks: - - bolt-default command: - --housekeeping_interval=10s - --docker_only @@ -71,9 +67,7 @@ services: - ./grafana/datasources:/etc/grafana/provisioning/datasources - grafana-data:/var/lib/grafana networks: - - bolt-default - depends_on: - - bolt-prometheus-holesky + - bolt-holesky-default volumes: prometheus-data: @@ -82,7 +76,7 @@ volumes: driver: local networks: - bolt-default: + bolt-holesky-default: driver: bridge ipam: driver: default From 1b26e17edf84c518ff1ab66e19572f754c8e52a9 Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 14:42:30 +0100 Subject: [PATCH 5/6] chore(docker/holesky): bump builder image --- testnets/holesky/docker-compose.pbs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testnets/holesky/docker-compose.pbs.yml b/testnets/holesky/docker-compose.pbs.yml index 965dced6d..a2eb2e0dd 100644 --- a/testnets/holesky/docker-compose.pbs.yml +++ b/testnets/holesky/docker-compose.pbs.yml @@ -32,7 +32,7 @@ services: ADMINER_PLUGINS: tables-filter tinymce builder: - image: ghcr.io/chainbound/bolt-builder:v0.3.0-alpha.rc1 + image: ghcr.io/chainbound/bolt-builder:v0.3.0-alpha.rc3 restart: unless-stopped volumes: - "chaindata:/var/lib/chaindata" From 3eaddc3ee8b57cc0ee7a75bc7affa60dcde9b28f Mon Sep 17 00:00:00 2001 From: thedevbirb Date: Fri, 10 Jan 2025 15:41:20 +0100 Subject: [PATCH 6/6] chore(docker/holesky): remove custom networks, use host.docker.internal This is available on Linux on newer version of docker by adding extra_host: - host.docker.internal:host-gateway on services where you need to use that DNS to access the host machine --- testnets/holesky/bolt-sidecar.env.example | 6 +++--- testnets/holesky/docker-compose.pbs.yml | 10 ---------- testnets/holesky/docker-compose.yml | 21 ++++++--------------- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/testnets/holesky/bolt-sidecar.env.example b/testnets/holesky/bolt-sidecar.env.example index 61de72060..11b2c9b68 100644 --- a/testnets/holesky/bolt-sidecar.env.example +++ b/testnets/holesky/bolt-sidecar.env.example @@ -4,12 +4,12 @@ # port should be open on your firewall in order to receive external requests! BOLT_SIDECAR_PORT=8017 # Execution client API URL -BOLT_SIDECAR_EXECUTION_API_URL="http://172.56.0.1:8545" +BOLT_SIDECAR_EXECUTION_API_URL="http://host.docker.internal:8545" # URL for the beacon client -BOLT_SIDECAR_BEACON_API_URL="http://172.56.0.1:5052" +BOLT_SIDECAR_BEACON_API_URL="http://host.docker.internal:5052" # Execution client Engine API URL. This is needed for fallback block building # and must be a synced Geth node -BOLT_SIDECAR_ENGINE_API_URL="http://172.56.0.1:8551" +BOLT_SIDECAR_ENGINE_API_URL="http://host.docker.internal:8551" # The port from which the Bolt sidecar will receive Builder-API requests from the Beacon client BOLT_SIDECAR_CONSTRAINTS_PROXY_PORT=18550 # URL to forward the constraints produced by the Bolt sidecar to a server diff --git a/testnets/holesky/docker-compose.pbs.yml b/testnets/holesky/docker-compose.pbs.yml index a2eb2e0dd..3d401fe4e 100644 --- a/testnets/holesky/docker-compose.pbs.yml +++ b/testnets/holesky/docker-compose.pbs.yml @@ -63,8 +63,6 @@ services: entrypoint: ["/bin/sh", "-c", "chmod +x /scripts/run-bn.sh && /scripts/run-bn.sh"] # In case the sidecar on `docker-compose.yml` needs to connect to it - networks: - - bolt-holesky-default helix-relay: image: ghcr.io/chainbound/helix:v0.3.0-alpha.rc4 @@ -84,11 +82,3 @@ services: - RUST_LOG=helix_cmd=debug,helix_api=debug,helix_common=debug,helix_datastore=debug,helix_housekeeper=debug,helix_database=debug,helix_beacon_client=debug,helix_website=debug - RUST_BACKTRACE=1 command: --config /helix-config.yml - # `mev-boost` inside `docker-compose.yml` needs to communicate with this relay - networks: - - bolt-holesky-default - -# Requires spinning up docker compose with file `docker-compose.yml` before this one. -networks: - bolt-holesky-default: - external: true diff --git a/testnets/holesky/docker-compose.yml b/testnets/holesky/docker-compose.yml index fc69a1621..ab411c1e4 100644 --- a/testnets/holesky/docker-compose.yml +++ b/testnets/holesky/docker-compose.yml @@ -21,6 +21,9 @@ services: - ${BOLT_SIDECAR_DELEGATIONS_PATH:-/dev/null}:/etc/delegations.json - ${BOLT_SIDECAR_KEYSTORE_PATH:-/dev/null}:/etc/keystores - ${BOLT_SIDECAR_KEYSTORE_SECRETS_PATH:-/dev/null}:/etc/secrets + # Allows the sidecar to reach EL and CL on this host + extra_hosts: + - host.docker.internal:host-gateway bolt-mev-boost-holesky: image: ghcr.io/chainbound/bolt-mev-boost:v0.3.0-alpha @@ -28,10 +31,9 @@ services: restart: unless-stopped env_file: ./mev-boost.env entrypoint: /bin/sh -c '/app/mev-boost' - # MEV-Boost might need to communicate with the Helix relay in - # `docker-compose.pbs.yml` if the PBS stack is used. - networks: - - bolt-holesky-default + # Allows to reach a relay running on this host + extra_hosts: + - host.docker.internal:host-gateway bolt-prometheus-holesky: image: prom/prometheus:v2.55.1 @@ -66,20 +68,9 @@ services: - ./grafana/dashboards:/etc/grafana/provisioning/dashboards - ./grafana/datasources:/etc/grafana/provisioning/datasources - grafana-data:/var/lib/grafana - networks: - - bolt-holesky-default volumes: prometheus-data: driver: local grafana-data: driver: local - -networks: - bolt-holesky-default: - driver: bridge - ipam: - driver: default - config: - - subnet: 172.56.0.0/16 - gateway: 172.56.0.1