本文档提供了关于Base Node系统中Nethermind执行客户端的详细说明。Nethermind是支持的三种执行客户端之一(另外两种是Geth和Reth),可用于运行Base节点。本文涵盖了Nethermind的配置、容器结构以及特定于Base Node的使用细节。
有关执行客户端的一般信息,请参阅执行客户端。有关其他支持的客户端的信息,请参阅Geth和Reth。
Nethermind充当Base Node的执行层,提供EVM执行能力,与op-node组件协同工作。在Base Node系统架构中,Nethermind作为执行客户端,根据从op-node接收到的数据,处理Base L2区块链的交易和状态变更。
来源:README.md55-85 nethermind/Dockerfile1-52
Base Node中的Nethermind容器包含Nethermind执行客户端和op-node组件,由supervisord管理。该容器使用多阶段Dockerfiles构建,首先从Optimism仓库构建op-node,然后从官方Nethermind仓库构建Nethermind。
Nethermind Docker镜像使用Dockerfile中定义的多阶段构建过程进行构建。该镜像基于op-node和Nethermind的特定版本,以确保兼容性。
构建过程包括
Nethermind执行客户端通过nethermind-entrypoint脚本进行配置,该脚本设置环境并使用适当的参数启动Nethermind。
| 参数 | 描述 | 默认值 |
|---|---|---|
NETHERMIND_DATA_DIR | 存储Nethermind数据的目录 | /data |
NETHERMIND_LOG_LEVEL | Nethermind的日志级别 | Info |
NETWORK | 要连接的网络(mainnet或sepolia) | mainnet |
RPC_PORT | JSON-RPC API端口 | 8545 |
WS_PORT | WebSocket API端口 | 8546 |
AUTHRPC_PORT | Engine API端口(用于op-node通信) | 8551 |
METRICS_PORT | Metrics端点端口 | 6060 |
DISCOVERY_PORT | P2P发现端口 | 30303 |
JWT_SECRET_FILE | JWT密钥文件的路径 | /tmp/jwt/jwtsecret |
来源:nethermind/nethermind-entrypoint4-16
在Base Node系统中运行Nethermind时,使用以下命令行参数:
./nethermind \
--config="$OP_NODE_NETWORK" \
--datadir="$NETHERMIND_DATA_DIR" \
--Optimism.SequencerUrl=$OP_SEQUENCER_HTTP \
--log="$NETHERMIND_LOG_LEVEL" \
--JsonRpc.Enabled=true \
--JsonRpc.Host=0.0.0.0 \
--JsonRpc.WebSocketsPort="$WS_PORT" \
--JsonRpc.Port="$RPC_PORT" \
--JsonRpc.JwtSecretFile="$OP_NODE_L2_ENGINE_AUTH" \
--JsonRpc.EngineHost=0.0.0.0 \
--JsonRpc.EnginePort="$AUTHRPC_PORT" \
--HealthChecks.Enabled=true \
--Metrics.Enabled=true \
--Metrics.ExposePort="$METRICS_PORT"
来源:nethermind/nethermind-entrypoint48-63
Nethermind在Base Node环境中支持额外的配置选项。
OP_NETHERMIND_BOOTNODES来指定自定义引导节点。OP_NETHERMIND_ETHSTATS_ENABLED启用,并通过OP_NETHERMIND_ETHSTATS_ENDPOINT配置端点。来源:nethermind/nethermind-entrypoint35-45
要使用Nethermind作为执行客户端运行Base节点,可以使用Docker Compose中的CLIENT环境变量。
此命令将构建并启动Base节点,以Nethermind作为执行客户端。
默认情况下,数据目录存储在${PROJECT_ROOT}/geth-data。您可以修改.env文件中的GETH_HOST_DATA_DIR变量的值来覆盖它。此目录将被挂载到Nethermind容器中NETHERMIND_DATA_DIR指定的位置。
同步速度取决于您的L1节点,因为大部分链数据都来自提交到L1的数据。您可以使用op-node容器上的optimism_syncStatus RPC来检查您的同步状态。
Base Node系统中的Nethermind提供了几个用于监控和收集指标的端点。
Metrics端点公开Prometheus格式的指标,可供监控系统抓取。
来源:nethermind/nethermind-entrypoint54-62
在Base Node系统中,Nethermind包含特定的优化和配置,以与Optimism OP Stack协同工作。
--Optimism.SequencerUrl参数配置。这些修改确保Nethermind能够在Base L2环境中作为执行客户端正常运行。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(c673c8)