Skip to content

feat: switch consensus client from op-node to base-consensus#985

Merged
meyer9 merged 9 commits intomainfrom
meyer9/switch-to-base-consensus
Apr 6, 2026
Merged

feat: switch consensus client from op-node to base-consensus#985
meyer9 merged 9 commits intomainfrom
meyer9/switch-to-base-consensus

Conversation

@meyer9
Copy link
Copy Markdown
Contributor

@meyer9 meyer9 commented Mar 5, 2026

Summary

  • Replace op-node (Go, from ethereum-optimism/optimism) with base-consensus (Rust, from base/base) as the consensus client across all execution client Docker images (reth, geth, nethermind)
  • Migrate all OP_NODE_* environment variables to BASE_NODE_* equivalents; remove vars not supported by Kona (syncmode, beacon archiver, engine kind, RPC server, snapshot log)
  • Consolidate versions.env to use BASE_NODE_* naming since the base repo provides multiple binaries (base-reth-node + base-consensus)

Changes

Core

  • base-consensus-entrypoint (new) — replaces op-node-entrypoint, exec's ./base-consensus node with BASE_NODE_* env vars
  • supervisord.conf[program:op-node][program:base-consensus]
  • versions.envBASE_RETH_NODE_*BASE_NODE_*, removed OP_NODE_* vars

Dockerfiles

  • reth/Dockerfile — single Rust stage builds both base-reth-node and base-consensus from one clone, Go stage removed
  • geth/Dockerfile — Go op-node stage → Rust base-consensus stage
  • nethermind/Dockerfile — Go op-node stage → Rust base-consensus stage

Environment

  • .env.mainnet / .env.sepoliaOP_NODE_*BASE_NODE_*, added OP_GETH_OP_NETWORK / OP_NETHERMIND_NETWORK for clients needing string network names
  • .env.sepolia-alpha — new env for chain 11763072 (gitignored)
  • docker-compose.yml — updated entrypoint reference

Execution entrypoints

  • reth/reth-entrypoint, geth/geth-entrypoint, nethermind/nethermind-entrypoint — auth vars updated to BASE_NODE_*

Testing

  • Docker builds succeed
  • Tested Reth with base-consensus and op-node

@cb-heimdall
Copy link
Copy Markdown
Collaborator

cb-heimdall commented Mar 5, 2026

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

@github-actions
Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the Stale label Mar 20, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This pull request was closed because it has been inactive for 5 days since being marked as stale.

@github-actions github-actions bot closed this Mar 25, 2026
@meyer9 meyer9 reopened this Mar 26, 2026
@meyer9 meyer9 removed the Stale label Mar 26, 2026
@meyer9 meyer9 force-pushed the meyer9/switch-to-base-consensus branch from 1ed6649 to f0914f9 Compare April 6, 2026 16:40
@meyer9 meyer9 force-pushed the meyer9/switch-to-base-consensus branch from f0914f9 to 4360d51 Compare April 6, 2026 16:43
@meyer9 meyer9 marked this pull request as ready for review April 6, 2026 20:29
@meyer9 meyer9 requested review from danyalprout and refcell April 6, 2026 20:29
@meyer9 meyer9 requested a review from danyalprout April 6, 2026 20:45
.env.sepolia Outdated
# --------------------
RETH_CHAIN=base-sepolia
OP_NODE_NETWORK=base-sepolia
BASE_NODE_NETWORK=84532
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@refcell should this be chain-id or a named chain? pretty sure we support base-sepolia here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah this does work. Just tested locally. I think I started with sepolia-alpha which doesn't work, but base-sepolia and base both work

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@meyer9 meyer9 force-pushed the meyer9/switch-to-base-consensus branch from eb5dc1e to 50efd3a Compare April 6, 2026 21:57
@meyer9 meyer9 merged commit e684286 into main Apr 6, 2026
11 checks passed
@meyer9 meyer9 deleted the meyer9/switch-to-base-consensus branch April 6, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants