From 13a869a490fe24af547de581719ee8ceed1b9f6b Mon Sep 17 00:00:00 2001 From: okwn Date: Thu, 21 May 2026 22:27:34 +0000 Subject: [PATCH 1/3] docs: add table of contents to README for faster navigation --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 2e0b62998..37d146316 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,15 @@ Base is a secure, low-cost, developer-friendly Ethereum L2 built on Optimism's [ [![Twitter Base](https://img.shields.io/twitter/follow/Base?style=social)](https://x.com/Base) [![Farcaster Base](https://img.shields.io/badge/Farcaster_Base-3d8fcc)](https://farcaster.xyz/base) +## Table of Contents +- [Quick Start](#quick-start) +- [Supported Clients](#supported-clients) +- [Requirements](#requirements) +- [Configuration](#configuration) +- [Snapshots](#snapshots) +- [Supported Networks](#supported-networks) +- [Troubleshooting](#troubleshooting) + ## Quick Start 1. Ensure you have an Ethereum L1 full node RPC and beacon endpoint available. From 689f8d3a0390f31d302f3a1fef8f4d232f552f39 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Fri, 22 May 2026 06:27:30 +0000 Subject: [PATCH 2/3] fix: add autorestart=true to supervisord and healthcheck to docker-compose Addresses issues #1054 and #1045 - if either the consensus client or execution client crashes, supervisord will now automatically restart it without requiring manual operator intervention. Also adds a healthcheck to the execution service so docker compose ps accurately reflects service health rather than always showing healthy. --- docker-compose.yml | 6 ++++++ supervisord.conf | 2 ++ 2 files changed, 8 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index c88064344..4815a87ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,12 @@ services: - ${HOST_DATA_DIR:-./reth-data}:/data env_file: - ${NETWORK_ENV:-.env.mainnet} # Use .env.mainnet by default, override with .env.sepolia for testnet + healthcheck: + test: ["CMD", "curl", "--fail", "-X", "POST", "http://localhost:8545", "--data", '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'] + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s node: build: context: . diff --git a/supervisord.conf b/supervisord.conf index 77d11a461..283060842 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -9,6 +9,7 @@ stdout_logfile=/dev/fd/1 stdout_logfile_maxbytes=0 redirect_stderr=true stopwaitsecs=300 +autorestart=true [program:execution] command=/app/execution-entrypoint @@ -16,3 +17,4 @@ stdout_logfile=/dev/fd/1 stdout_logfile_maxbytes=0 redirect_stderr=true stopwaitsecs=300 +autorestart=true From f0701d9e5309e26a47c178c035ee90fb85fd83b2 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Fri, 22 May 2026 06:29:06 +0000 Subject: [PATCH 3/3] fix: add missing BASE_NODE_RPC_PORT to .env.mainnet and .env.sepolia The consensus service (port 7545) is mapped in docker-compose.yml, but .env.mainnet and .env.sepolia did not define BASE_NODE_RPC_PORT, so the consensus RPC was unreachable from the host on the expected mapped port. Fixes issue #1088. --- .env.mainnet | 1 + .env.sepolia | 1 + 2 files changed, 2 insertions(+) diff --git a/.env.mainnet b/.env.mainnet index ac9e52b66..81f4e11f0 100644 --- a/.env.mainnet +++ b/.env.mainnet @@ -22,6 +22,7 @@ BASE_NODE_L1_TRUST_RPC="false" BASE_NODE_L2_ENGINE_RPC=ws://execution:8551 BASE_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt BASE_NODE_L2_ENGINE_AUTH_RAW=688f5d737bad920bdfb2fc2f488d6b6209eebda1dae949a8de91398d932c517a +BASE_NODE_RPC_PORT=7545 # P2P CONFIGURATION # ----------------- diff --git a/.env.sepolia b/.env.sepolia index e518129fb..b37b45028 100644 --- a/.env.sepolia +++ b/.env.sepolia @@ -22,6 +22,7 @@ BASE_NODE_L1_TRUST_RPC="false" BASE_NODE_L2_ENGINE_RPC=http://execution:8551 BASE_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt BASE_NODE_L2_ENGINE_AUTH_RAW=688f5d737bad920bdfb2fc2f488d6b6209eebda1dae949a8de91398d932c517a +BASE_NODE_RPC_PORT=7545 # P2P CONFIGURATION # -----------------