NeoGo v0.116.0 启用了 Faun 硬分叉并修复了关键状态同步错误

本文为机器翻译
展示原文

Neo SPCC 发布了 NeoGo v0.116.0,这是一次关键更新,激活了主网和测试网上的 Faun 硬分叉,引入了 P2P 级别的优化,并修复了上个版本中引入的状态同步错误。此次更新完全兼容 C# Node 版本 3.9.2。

Faun 硬分叉激活和 Gorgon 预览

此前处于关闭状态且未激活的 Faun 硬分叉现已对公共网络开放。在 N3主网,Faun 将于区块高度 8,800,000 激活,而测试网的激活时间则定于区块高度 12,960,000。对于 NeoFS 网络,该分叉将在主网区块高度 19,725,000 和测试网区块高度 19,340,000 激活。

节点运营商必须在指定的 Faun 激活高度之前升级其节点,以避免需要进行完整的数据库重新同步。版本说明强调了提前升级的紧迫性,以确保分叉后能够无缝地参与网络。

除了启用 Faun 之外,NeoGo v0.116.0 还以实验性质引入了对下一个硬分叉 Gorgon 的预览支持。Gorgon 的功能和激活时间表等详细信息尚未公布。

新增功能和行为变化

Faun 硬分叉带来了多项协议级新功能。原生 Policy 合约新增了recoverFund方法,允许在特定条件下回收资金。此次更新还为原生合约实现了 NEP-30 支持,增强了与更广泛的Neo生态系统的兼容性。

合约费用白名单存储方案的变更改进了数据组织和效率。此外,NeoFS 状态对象见证现在以条件方式附加,从而优化了同步工作流程并减少了不必要的计算开销。

关键漏洞修复

NeoGo v0.116.0 修复了 N3主网第 2,940,927 个区块的关键状态同步问题。该漏洞由 v0.115.0 中的 Faun 预览版引入,原因是 Policy 合约的 blockAccount 处理程序中缺少 fork 开关。升级到 v0.115.0 后未重新同步的节点可以安全地跳过此版本的重新同步,因为此修复程序已解决了后续的状态差异问题。

其他错误修复包括解决 RPC Waiter 组件中因过早关闭通道而触发的 panic 情况,以及纠正 NeoFS 池中过早的 Close() 调用,该调用之前会导致连接处理问题。

P2P 和 RPC 的改进

此版本优化了P2PNotaryRequest有效负载的 P2P 级处理,并在此基础上改进了 v0.115.0 中引入的并发性。节点现在对非关键性 P2P 错误的容忍度更高,从而减少了不必要的断开连接,提高了网络稳定性。

RPC 功能已得到增强,可以直接在getstorage*findstorage*处理程序中接受原生合约名称,从而简化查询构造并减少对合约哈希查找的依赖。

升级指南

N3主网和测试网上的节点运营商应在 Faun 激活高度之前升级到 v0.116.0 版本,以避免服务中断。已升级到 v0.115.0 版本但未进行重新同步的运营商可以跳过此版本的重新同步步骤。

完整的更新日志和发布资源可在以下链接中找到:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.116.0

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
65
收藏
15
评论