注意:此版本升级后,发送交易的最低 gasPrice 调整为 1G, 低于 1G 的交易将会发送失败。将根据测试网测试情况准备主网升级,预计将在6月内进行主网版本发布。
本次升级主要解决的问题:
改进
RPC 改进
- 改进 eth_getLogs 的性能.
- 新增一个新的 RPC eth_getAccountPendingTransactions 来通过地址获取 pending 的交易,并返回首个 pending 的交易的 pending 原因。
- 支持 eth API 的 WebSockets.
- 支持 eth_call 的区块哈希参数 (EIP1898).
- 如果调用 cfx_call、cfx_estimateGasAndCollateral、eth_call 和 eth_estimate 时,设置了from参数,则会采用 from 的真实余额进行 estimate 或 call,如果余额不够会返回 NotEnoughCash 错误。如果 from 参数没有设置,则会默认使用一个余额非常大的随机 from 进行 estimate 操作. 此改进旨在减少 pending 交易的问题,且与以太坊行为保持一致。
交易池改进
- 交易打包默认设置最小 gas price 为 1 GDrip.
存储改进
- 在 XFS 文件系统中提升 copy-on-write 快照的合并性能。
漏洞修复
- 修复在顶级 checkpoint 恢复的交易的跟踪有效性。
- 修复失败交易的 phantom 跟踪长度不匹配问题。
- 修复一个在 eth_estimateGas 中可能的下溢 crash 问题。
注意:RPC 在v2.0.2之后的调整通知
- 从 v2.0.3 开始,cfx_getLogs 和 eth_getLogs 将不再支持 limit 和 offset 参数。它们效率不高,可以通过设置 block/epoch 范围来代替。
- 从 v2.0.3 开始,cfx_clientVersion 将会像 eSpace 中的 web3_clientVersion 一样包含更多信息。
- 从 v2.0.3 开始,fromEpoch 将默认为 cfx_getLogs 中的 “latest_state”.
- 从 v2.0.3 开始,fromBlock 将默认为 eth_getLogs 中的 “latest”.
下载
新版节点程序可在 https://github.com/Conflux-Chain/conflux-rust/releases/tag/v2.0.2 内下载。(预计将在6月内发布可下载版本)
我是节点运营者/矿工,我需要做什么?
升级节点。
如不升级节点、不参与本次升级,会出现什么情况?
本次升级旨在提高节点稳定性,不更新不影响挖矿。
我是应用开发者,我需要做什么?
- 需要将发送交易的 gas price 提高到 1 GDrip 以上,否则交易发送将会失败。
- 在同有 Sponsor 的合约交互时,estimate 可能会失败,可尝试升级 js-sdk 或 go-sdk 到最新版,或者手动提高合约燃气赞助的 upperbound 到 0.5. CFX
感谢您的支持!
衷心感谢 Conflux 社区以及所有 Conflux 生态的开发者们,感谢你们的努力、思考和贡献,为 Conflux 带来了更好的明天。