本次升级主要解决的问题:
漏洞修复
RPC
修复 eth_call 中 coinbase 操作码的问题:此前 eth_call 在使用 coinbase 操作码时返回的是随机地址,而不是正确的 coinbase 地址。该 bug 已修复。
其他
修复 PoS 奖励重执行问题:此前在进行重执行(reexecution)时,未检查数据库中的 PoS 奖励是否位于 pivot 区块。已修复。
RPC 改进
新增 RPC 接口
debug_blockProperties:新增了一个自定义的 eSpace RPC 接口,用于返回 eSpace 区块中所有交易的额外区块属性信息。该接口对需要验证交易执行结果的服务非常有用,因为在同一个 Conflux eSpace 区块内,不同交易在执行时可能具有不同的区块执行环境(如 coinbase, timestamp, difficulty)。详细信息请参阅相关文档。
RPC 优化
-
支持日志时间戳:为 eSpace 的日志对象新增
blockTimestamp字段(适用于eth_getLogs、eth_getFilterLogs等方法)。 -
区块编号类型改进
将 RPC 类型BlockNumber重命名为BlockID,以提升语义精确性。
RPC 类型BlockNumber现已支持区块哈希的使用场景。 -
日志格式优化:将日志中 bytes 类型的格式从数字数组优化为十六进制字符串。
-
修复 parity trace 兼容性问题:修复了 parity trace 在错误处理及返回结果结构上的不兼容问题。
-
修复区块获取错误处理:在区块获取相关方法中,使用新定义的错误类型替代原有的字符串错误。
-
RPC 配置:新增 eSpace RPC 的相关配置选项。
性能优化
-
存储优化:优化为仅在存储条目未被占用时才读取存储数据。
-
eth_feeHistory 优化:在计算 base price 时,仅读取区块头(header),而不再读取整个区块,以提升性能。
基础组建与依赖项
内存管理
-
jemalloc 升级:从 jemallocator 切换到 tikv-jemallocator
-
内存分析支持:新增内存和 CPU 的 pprof 性能分析能力
下载
新版节点程序可在这里下载:https://github.com/Conflux-Chain/conflux-rust/releases/tag/v3.0.2
我是节点运营者/矿工,我需要做什么?
-
如果已启动了节点,需先暂停这个节点的运行,然后将原节点程序中的 run 目录下的名为"conflux"的可执行文件,替换为 Conflux v3.0.2 节点程序的 conflux 可执行文件。然后重新启动。
-
如果新启动节点,可以下载最新版的 Conflux v3.0.2,运行即可。
如果不升级节点,会出现什么情况?
建议将节点升级至新版本,不升级可能影响交易发送及矿工收益。
感谢您的支持!
衷心感谢 Conflux 社区以及所有 Conflux 生态的开发者们,感谢你们的努力、思考和贡献,为 Conflux 带来了更好的明天。