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

Windows11下Geth无数据写入及Prysm节点同步失败求助

问题根源与解决方案

核心原因:Prysm共识客户端无法连接到足够的有效对等节点(suitable=0),导致无法向Geth执行客户端发送共识层同步指令,Geth因此不会启动执行层的数据同步(也就不会向硬盘写入数据)。

一、优先解决Prysm的对等节点问题

1. 检查网络与端口放行

  • Windows防火墙需放行Prysm的默认端口:TCP 13000(节点通信)、UDP 12000(节点发现)。可在防火墙高级设置中添加入站规则,允许这两个端口的所有连接。
  • 若处于内网环境,需在路由器后台设置端口转发,将上述两个端口映射到你的电脑IP。

2. 手动添加引导节点

启动Prysm时添加官方引导节点参数,强制接入以太坊共识层网络:

prysm.bat beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=jwt.hex --suggested-fee-recipient=0x01234567722E6b0000012BFEBf6177F1D2e9758D9 --bootstrap-node=enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCdl8

3. 升级Prysm到最新稳定版

旧版本可能存在节点兼容性问题,执行以下命令更新:

prysm.bat update

二、验证Geth与Prysm的JWT密钥联动

  • 确保两个客户端使用完全相同的jwt.hex文件:若Geth的jwt.hex存放在D:\ethereum目录下,Prysm启动时需指定完整路径,避免路径错误:
    prysm.bat beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=D:\ethereum\jwt.hex --suggested-fee-recipient=0x01234567722E6b0000012BFEBf6177F1D2e9758D9
    
  • 验证JWT密钥格式:文件内容必须是64字符的纯十六进制字符串,无换行、空格或其他字符。

三、优化Geth启动参数

  • 添加快速同步模式参数,加速后续同步:
    geth --datadir D:\ethereum --authrpc.addr localhost --authrpc.port 8551 --authrpc.vhosts localhost --authrpc.jwtsecret jwt.hex --syncmode snap
    
  • 检查D:\ethereum目录权限:右键该文件夹→属性→安全,确保当前管理员账户拥有完全控制权限,避免写入失败。

四、正确启动顺序

先启动Prysm,等待终端显示suitable peers >=3后,再启动Geth。此时Geth会接收到Prysm的共识更新指令,开始向硬盘写入执行层数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:28:06