菜单

配置

相关源文件

目的与范围

本文档提供了有关如何为不同环境和场景配置 Base 节点的详细信息。它涵盖了网络选择、关键配置参数以及主网和测试网部署的自定义选项。有关特定网络的具体设置,请参阅主网配置Sepolia 测试网配置

来源: README.md55-64

配置概述

Base 节点配置主要通过网络特定环境变量文件中定义的环境变量进行管理。这些变量控制节点运行的各个方面,包括网络连接、执行客户端行为和共识设置。

图示:配置系统概述

来源: README.md58-64 .env.mainnet1-55 .env.sepolia1-51

网络环境选择

配置 Base 节点的第一步是选择合适的网络。这是通过设置 NETWORK_ENV 环境变量来指向相应的配置文件来实现的。

此环境变量决定了在使用 Docker Compose 启动节点时将使用哪个网络特定的配置文件。

来源: README.md58-64

执行客户端选择

Base 节点支持多种执行客户端。您可以使用 CLIENT 环境变量指定您首选的客户端。

支持的客户端有:

  • geth
  • reth
  • nethermind

每个客户端都有其独特的优势和特性,但都提供了运行 Base 节点所需的功能。

图示:执行客户端选择

来源: README.md71-78

关键配置参数

环境变量文件中的某些参数是节点正常运行所必需的。

参数目的示例
OP_NODE_L1_ETH_RPC以太坊 L1 全节点(非 Base)的 URLhttps://1rpc.io/eth
OP_NODE_L1_BEACON以太坊 L1 共识层信标端点的 URLhttps://your.mainnet.beacon.node/endpoint-here
OP_NODE_L2_ENGINE_AUTH_RAW引擎 API 的认证密钥688f5d737bad920bdfb2fc2f488d6b6209eebda1dae949a8de91398d932c517a
OP_NODE_NETWORK网络标识符base-mainnetbase-sepolia

在 Base 能够完全同步之前,L1 节点必须先完成同步。节点还需要访问 L1 共识层(CL)信标端点。

来源: README.md57 .env.mainnet12-16 .env.mainnet21-26 .env.sepolia12-16 .env.sepolia21-26

配置架构

配置系统分层构建,环境变量由 Docker Compose 加载并传递给相应的组件。

图示:配置参数关系

来源: .env.mainnet1-55 .env.sepolia1-51

通信配置

Base 节点暴露了多个用于与节点交互的端点。

端点默认配置目的
执行客户端 RPC端口 8545用于与执行客户端交互的 JSON-RPC API
执行客户端 WebSocket端口 8546执行客户端的 WebSocket 端点
op-node RPC端口 7545Rollup 节点的 JSON-RPC API
评估指标端口 7300Prometheus 指标端点
P2P端口 9222点对点通信

这些端口可以通过环境变量进行配置。

来源: .env.mainnet29-35 .env.sepolia29-35

高级配置选项

同步选项

Base 节点支持不同的同步方法:

  1. 默认同步 - 从 L1 数据派生链
  2. 快照同步 - 使用链快照进行更快的初始同步
  3. Snap Sync(实验性) - 执行层同步模式

要启用 Snap Sync,请取消注释并设置以下环境变量:

OP_NODE_SYNCMODE=execution-layer
OP_GETH_BOOTNODES=<bootnodes>
OP_NETHERMIND_BOOTNODES=<bootnodes>
OP_GETH_SYNCMODE=snap

请注意,Snap Sync 是实验性的,可能会导致同步问题或难以查找对等节点。

来源: .env.mainnet48-55 .env.sepolia44-50

信任设置

为了在使用受信任的 L1 节点时加快同步速度,您可以启用 OP_NODE_L1_TRUST_RPC 选项。这在处理不支持存储证明的 Erigon 等 L1 客户端时特别有用。

OP_NODE_L1_TRUST_RPC=true

只有当您完全信任您的 L1 节点提供商时,才启用此选项。

来源: README.md87 .env.mainnet43-46 .env.sepolia39-42

网络统计

为了在网络统计仪表板中监控节点性能,您可以配置统计端点。

OP_GETH_ETH_STATS=nodename:secret@host:port
OP_NETHERMIND_ETHSTATS_ENABLED=true
OP_NETHERMIND_ETHSTATS_NODE_NAME=NethermindNode
OP_NETHERMIND_ETHSTATS_ENDPOINT=ethstats_endpoint

这些设置是可选的,只有在您想参与网络统计仪表板时才需要。

来源: .env.mainnet6-10 .env.sepolia6-10

存储配置

默认情况下,节点的数据目录存储在 ${PROJECT_ROOT}/geth-data。您可以通过修改 .env 文件中的 GETH_HOST_DATA_DIR 变量来自定义此位置。

加载快照时,将其提取到 GETH_HOST_DATA_DIR 指定的目录中。

来源: README.md89-95

单容器配置

如果您倾向于在单个容器中运行节点而不是使用 Docker Compose,则可以使用 supervisord 入口点。这对于 Kubernetes 部署尤其有用。使用此方法时,您需要覆盖一些默认配置值。

具体来说,您需要调整:

  • OP_NODE_L2_ENGINE_RPC 以使用 localhost 而不是单独的容器。
  • OP_NODE_RPC_PORT 以避免端口冲突。

来源: README.md97-106

配置文件参考

下表总结了网络特定环境变量文件中提供的关键配置参数。

常用参数

参数描述默认值
OP_NODE_L1_ETH_RPCL1 以太坊节点 RPC URL网络依赖
OP_NODE_L1_BEACONL1 共识层信标端点必须提供
OP_NODE_L2_ENGINE_AUTH_RAWJWT 认证密钥预定义值
OP_NODE_L2_ENGINE_RPC引擎 API 端口ws://execution:8551
OP_NODE_LOG_LEVEL日志详细程度info
OP_NODE_METRICS_ENABLED启用 Prometheus 指标true
OP_NODE_P2P_LISTEN_TCP_PORTP2P TCP 端口9222
OP_NODE_RPC_PORTRPC 端口8545

特定于网络的参数

参数主网值Sepolia 值
OP_NODE_NETWORKbase-mainnetbase-sepolia
OP_SEQUENCER_HTTPhttps://mainnet-sequencer.base.orghttps://sepolia-sequencer.base.org
RETH_CHAINbasebase-sepolia
OP_NODE_P2P_BOOTNODES多个主网引导节点多个 Sepolia 引导节点

来源: .env.mainnet1-55 .env.sepolia1-51