You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ethereum Goerli节点同步停滞问题排查与修复请求

Ethereum Goerli测试网同步停滞问题排查与解决

问题描述

部署了两个节点服务:

  • Ethereum Goerli执行层(Geth)
  • Teku共识层

Geth执行层日志

INFO [09-17|04:13:32.343] Imported new block headers               count=0 elapsed=29.392ms  number=7,382,818 hash=aa32c4..48c7cc age=1mo1w6h  ignored=182
INFO [09-17|04:13:32.343] Legacy sync reached merge threshold      number=7,382,819 hash=7c38fc..3fd3cd td=10,790,002 ttd=10,790,000
INFO [09-17|04:13:32.363] State sync in progress                   synced=90.24% state=30.90GiB accounts=39,032,106@2.93GiB slots=127,297,641@25.57GiB codes=334,075@2.40GiB eta=1h47m38.796s
WARN [09-17|04:13:32.363] Local chain is post-merge, waiting for beacon client sync switch-over...

同步进度持续多日卡在90.24%,无进展。

Teku共识层日志

INFO  - Syncing     *** Target slot: 3907886, Head slot: 941050, Remaining slots: 2966836, Connected peers: 12
INFO  - Syncing     *** Target slot: 3907887, Head slot: 941050, Remaining slots: 2966837, Connected peers: 12
INFO  - Syncing     *** Target slot: 3907888, Head slot: 941050, Remaining slots: 2966838, Connected peers: 14
WARN  - Endpoint http://localhost:8546 is INVALID | Still syncing

Invalid remote response: -32601: the method engine_exchangeTransitionConfigurationV1 does not exist/is not available

服务配置

Geth执行层启动命令

geth --goerli --datadir="/sdb/ethereum/goerli/" --port="30304"  --cache 4096 --http --http.addr="0.0.0.0" --http.port="8546" --http.vhosts="*" --http.corsdomain="*" --http.api="admin, debug, web3, eth, txpool, personal, clique, miner, net" --authrpc.jwtsecret=/tmp/jwtsecret --authrpc.vhosts="*" --authrpc.port=8553 --allow-insecure-unlock

Teku共识层启动命令

~/teku \
  --data-path "/sdb/ethereum/teku" \
  --network goerli \
  --ee-endpoint http://localhost:8546 \
  --ee-jwt-secret-file "/tmp/jwtsecret" \
  --log-destination console \
  --p2p-port=9001 \
  --rest-api-enabled=true   \
  --p2p-discovery-bootnodes "enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk"

解决方案

1. 修复Teku与Geth的连接端口错误

Teku配置中--ee-endpoint错误指向了Geth的普通HTTP端口(8546),但合并后共识层必须连接到执行层的authrpc专用端口(Geth配置中的--authrpc.port=8553)。普通HTTP端口不支持engine_exchangeTransitionConfigurationV1这类合并引擎API方法,这是导致报错和同步停滞的核心原因。

修改Teku启动命令中的--ee-endpoint参数:

--ee-endpoint http://localhost:8553

2. 重启服务并验证同步状态

  • 依次停止Teku和Geth服务
  • 按原配置重启Geth,等待日志显示状态稳定
  • 启动修改后的Teku服务,观察日志是否消除engine_exchangeTransitionConfigurationV1错误
  • 监控Geth日志,确认同步进度是否脱离90.24%的停滞状态

3. 额外优化建议

  • 提升Geth缓存:当前--cache=4096(4GB),若服务器内存充足(建议16GB以上),可调整为--cache=8192(8GB),加快状态同步速度
  • 检查磁盘性能:确保/sdb挂载的是SSD存储,避免磁盘IO瓶颈拖慢同步
  • 验证Teku节点连接:若Peers数量过少,可替换为Goerli共识层官方最新bootnodes,提升节点发现效率

内容的提问来源于stack exchange,提问作者Denis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:05:20