NEAR Indexer for Explorer运行正常但无数据写入数据库求助
问题根因
从运行日志可以直接判断,程序始终卡在区块头同步阶段,未达到索引数据写入的触发条件,因此没有数据库写入行为:
- 节点当前高度始终停留在NEAR主网创世高度9820210,区块头下载进度长期卡在68.72%未推进,说明你所谓的存量数据仅包含创世块,无后续同步的链数据,并未完成基础同步
- 日志频繁出现peer连接数掉到0的情况,P2P连接不稳定导致同步中断,始终无法追上链上最新高度
- 你使用了
sync-from-latest启动参数,该参数要求节点完全追上链上最新高度后才会触发索引数据写入逻辑,同步未完成前不会产生库写入操作
排查修复方案
- 验证存量数据有效性:执行命令
./target/release/indexer-explorer --home-dir ../.near/mainnet view-genesis-height,确认输出的创世高度与NEAR主网创世高度一致,排除存量数据为测试网数据、genesis配置不匹配的问题 - 检查UDP端口连通性:NEAR节点P2P通信依赖UDP 24567端口,仅测试TCP访问无法验证连通性,可使用nc工具测试公共主网节点的UDP端口连通性,确认云服务商安全组、本地防火墙未拦截UDP出入站流量
- 调整启动参数:将
sync-from-latest替换为sync-from-interruption --delta 1000,该参数会从上次中断同步的高度开始推进,与最新高度差小于1000块时就会触发写入,无需等待完全追上最新高度;首次全量同步时可暂时移除--stream-while-syncing参数,避免同步过程中出现数据一致性问题导致写入暂停 - 验证数据库配置:检查启动环境变量中的DATABASE_URL配置是否正确,确认账号具备目标数据库的写入权限,可手动插入测试数据验证连通性,排除数据库本身的连接、权限问题
- 若空启动长期卡等待peer,直接导入官方提供的主网同步快照,无需从零开始同步,从零同步主网全量数据需要数周时间,且极易出现P2P连接中断问题,导入快照后可快速追上最新高度触发写入
内容的提问来源于stack exchange,提问作者Alex Povolotsky
相关产品推荐
相关产品推荐

