这个帖子用于收集Khala主网特有的疑难杂症,请大家善用搜索,尝试用帖子中提到的思路解决,无论成功还是失败,都可以在帖子下回复反馈,帮助大家更快挖起来矿。
当问题解决之后,我们会把问题和方案一起移动到这个主帖子中。
已解决
pherry 退出 HeaderHashMismatch
[2021-09-18T04:00:58Z INFO pherry] bridge() exited with result: Err(HeaderHashMismatch)
解决方法:删除数据库中的 Khala 区块历史
- 停止节点(保留pruntime)
- 删除Khala数据目录(保留Kusama):
rm -rf khala-node/chains/khala
- 重启节点和pherry
原因是种子下载的区块数据快照中,Khala的数据有损坏,但Kusama的可以用。删除快照之后同步Khala速度是比较快的。
pherry 报错 Could not decode RuntimeMetadata::V9.0/10.0/…
Could not decode `RuntimeMetadata::V9.0`
Decoding is not supported
解决方法:等Kusama节点同步完毕即可
原因是Kusama节点没同步好,依然是旧区块。pherry 启动时会去连接 Kusama 节点,连接时第一个操作就是解析元数据。元数据是和区块高度绑定的,目前最新的元数据是 v13,我们也只支持 v13。如果Kusama节点还停留在20年甚至19年,就有很大概率取到的元数据太老旧。因此我们建议遇到这个问题先检查Khala节点的Kusama区块高度。
检查方法:升级脚本,最新脚本会显示kusama的高度,或者查看节点日志,观察 [Relaychain]
行里显示的 Best 高度,然后和 Kusama 区块浏览器上的最新高度对比。
pherry 退出 pruntime 日志报错 bad justification for header
现象:pherry同步过程中出错退出,检查pruntime日志,发现最后几条日志包含如下信息:
[ERROR phactory::prpc_service] Rpc error: AppError("bad justification for header: invalid commit in grandpa justification")
解决方法: 升级pherry docker镜像
这个问题提主要原因是 pruntime 或者 pherry 版本不正确,尤其是在挖矿上线前下载的脚本所携带的pherry有一些问题,已经在上线前一天修复,因此需要重新更新脚本、docker镜像。
Khala节点平行链或中继链同步卡住
现象:Khala 节点可能会卡在某个区块高度(通常在 8M 和 9M 中继链区块之间)。
解决方法:
- 升级到最新的 khala 节点 docker 镜像。 该问题已在新版本中修复。
- 可选:下载最新节点数据快照(9月17日版),加速同步。或 @zozyo 提供的快照 【分享】Khala节点快照每3天更新 - #11,来自 zozyo
根本原因:Kusama Node Fails to Sync Beyond 8949248 · Issue #3778 · paritytech/polkadot · GitHub
Pherry同步过慢
pherry 的同步速度可能低至每秒 10 个块左右。 然而,通过性能调整,它应该以 100 个块/ 秒 的速度运行。
解决方法:升级到最新的solo挖矿脚本(这次需要完全重新安装脚本和SGX驱动)。
如果您是高级用户,可以尝试将这些环境变量添加到您的 docker 容器中:
PARACHAIN_EXTRA_ARGS='--state-cache-size 671088640 --db-cache 2048 --max-runtime-instances 16'
RELAYCHAIN_EXTRA_ARGS='--state-cache-size 671088640 --db-cache 2048 --max-runtime-instances 16'
关于pruntime因SGX内存不足而崩溃的问题
请查看本帖 【解决方案】关于pruntime因SGX内存不足而崩溃的问题 - #6,来自 lin
9/30 新版本的pruntime已经发布到docker hub啦,您可以根据以下方法更新:
sudo phala update
sudo phala start
注意:如果您的solo mining脚本正处于正常状态,可以不进行本次更新。