op-node 是 Base 节点架构中的一个关键组件,它作为 Base 的共识层,Base 是建立在 Optimism OP Stack 上的以太坊 Layer 2 扩容解决方案。本文档将解释 op-node 在 Base 节点系统中的作用、架构和操作。有关与 op-node 配合使用的执行客户端的信息,请参阅 执行客户端。
op-node 作为以太坊 Layer 1 (L1) 和 Base Layer 2 (L2) 之间的桥梁。其主要职责包括:
来源:README.md5-7 README.md112-122
op-node 在 Base 节点系统中与执行客户端(Geth、Reth 或 Nethermind)并行运行。下图展示了 op-node 如何融入整体 Base 节点架构:
来源:op-node-entrypoint25-46 README.md30-39 README.md55-88
当 Base 节点启动时,op-node 会遵循此初始化顺序:
来源:op-node-entrypoint1-46 supervisord.conf6-11
op-node 通过 Docker Compose 的环境变量文件(例如 .env.mainnet 或 .env.sepolia)进行配置。关键配置参数包括:
| 参数 | 描述 | 示例 |
|---|---|---|
OP_NODE_L1_ETH_RPC | 以太坊 L1 节点 RPC 端点的 URL | https://eth-mainnet.provider.com |
OP_NODE_L2_ENGINE_RPC | 执行客户端 Engine API 的 URL | ws://execution:8551 |
OP_NODE_L2_ENGINE_AUTH | JWT 认证文件的路径 | /config/jwt-secret.txt |
OP_NODE_P2P_ADVERTISE_IP | 用于 P2P 通信的公网 IP | 自动检测 |
OP_NODE_NETWORK | 网络标识符(mainnet 或 sepolia) | mainnet |
OP_NODE_RPC_PORT | op-node RPC 服务的端口 | 7545 |
来源:op-node-entrypoint25-46 README.md55-65 README.md97-106
op-node 通过特定的协议和 API 与 L1 和 L2 进行交互。
来源:README.md80-85 README.md112-122
op-node 负责同步 Base 链。它根据 L1 的数据派生 L2 区块,并确保执行客户端处理这些区块。
可以使用 optimism_syncStatus RPC 端点监控同步状态。
要检查您的 op-node 是否正常运行,请:
optimism_syncStatus RPC 方法验证同步状态常见问题包括:
如果 op-node 未正确同步,请验证您的 L1 节点是否已完全同步,因为 op-node 无法超前于 L1 上可用的数据进行进展。
来源:README.md42-47 README.md112-122
为达到最佳 op-node 性能,请确保您的系统满足以下要求:
在 Base 节点系统中,op-node 由 supervisord 管理,后者确保进程持续运行并在崩溃时重启。
当使用 Docker Compose 运行 Base 节点时,op-node 容器会与执行客户端容器协同工作。
为了在单个容器中运行这两个服务,supervisord 会同时管理 op-node 和执行客户端进程。