EOS 网络基金会与 EOS 节点运营商一起制定了一项计划,将在 2023 年 9 月 14 日星期四之前禁用延期交易(也称为计划交易)。 这一步骤对于进一步增强 EOS 网络的可靠性和性能是必要的,为 Leap 5.0.0 的发布做好准备。 节点运营商和应用程序开发人员需要采取行动。
需要采取的行动!
每个节点操作员都必须按照以下时间表禁用 所有节点的延迟交易:
- Jungle & Kylin Test Networks:
- 不早于 2023 年 8 月 28 日星期一
- 不迟于 2023 年 9 月 1 日星期五
- EOS 网络:
- 不早于 2023 年 9 月 8 日星期五
- 不迟于 2023 年 9 月 14 日星期四
每个应用程序开发人员必须在 2023 年 9 月 7 日星期四之前删除应用程序中的延迟交易依赖项,以避免服务中断。
本文末尾包含针对节点运营商和应用程序开发人员的说明。
为什么要改变?
延迟交易已于 2019 年 10 月正式弃用 (v2.0.0rc1)。 从那时起,它们就一直是麻烦制造者。 延迟交易给运行节点、提供历史记录、理解智能合约行为,甚至恢复帐户增加了过度的复杂性。
延期交易如何使事情变得复杂?
- 复杂的节点:它们在生态系统中的存在增加了多种可能失败的方式,特别是与常规交易相比。
- 历史复杂性:从具有五种不同状态之一到可能与错误处理事务配对,延迟事务一直使历史跟踪变得复杂。
- 合约假设:开发人员假设延期交易将按预期执行。 然而,现实情况是,这些交易及其错误处理程序缺乏在不影响链安全的情况下执行的保证。
为什么现在删除延期交易?
Leap v5.0.0 包含一个称为 Instant Finality 的协议功能。 此协议功能一旦激活,将无法恢复。 加入已激活 Instant Finality 的网络的节点将需要运行 Leap v5.0.0。
Leap v5.0.0 还将忽略“max-scheduled-transaction-time-per-block-ms”配置选项,禁用节点代码中的延迟交易。 综上所述,这意味着一旦将 Leap v5.0.0 部署到 BP,则无法重新启用延迟交易。
通过在 Leap 5.0.0 版本和协议升级之前禁用延迟事务,社区可以主动解决任何意外问题。
使用说明
节点运营商:禁用延迟交易
要禁用延迟交易,请在所有节点(尤其是区块生成节点)的 config.ini 文件中将 `max-scheduled-transaction-time-per-block-ms` 设置为“0”:
config.ini:
[code block: max-scheduled-transaction-time-per-block-ms = 0]
开发人员:检查延期交易的使用情况
开发人员可以通过检查应用程序生成的交易中的“delay_sec”是否使用非零值,或者应用程序的合约中是否进行了任何调用来确定应用程序中延迟交易的使用:
- “eosio::transaction”中的“send”成员函数
- `send_deferred`
- `cancel_deferred`
开发人员:延期交易的替代方案
如果您的合约使用延迟交易在稍后自动触发操作,则需要通过替代方式触发该操作。 可能的替代解决方案可能包括:
- 前端代表用户检测执行操作的需要,并提示用户签署触发操作的交易。
- 设计合约以建立一个不会失败的挂起操作队列,并添加任何人都可以调用来处理该队列的操作。 或者,部署一个服务来定期调用操作来处理队列。
历史
如果您想深入了解此更改的历史,以下一些链接可能会对您有所帮助:
- v2.0.0-rc1 的原始弃用说明:https://github.com/EOSIO/eos/issues/7597
- 原始弃用提案:https://github.com/EOSIO/spec-repo/blob/master/esr_deprecate_deferred.md
- 2023 年 8 月 9 日节点运营商圆桌讨论:https://www.youtube.com/watch?v=HMwJjUFEbuE&t=2523s
- 2023 年 8 月 16 日节点运营商圆桌讨论:https://www.youtube.com/watch?v=qtkTstHfNcI&t=156s
关于EOS 网络
EOS 网络是区块链 3.0 时代的典范之作,由 EOS VM 提供支持。EOS VM 是一个低延迟、高性能和可扩展的 WebAssembly 引擎,能够近乎无感的实现确定性交易执行。EOS 网络专为 Web3 设计,致力于实现最佳的 Web3 用户和开发人员体验。 EOS 是 Antelope 协议的旗舰区块链和金融中心,并通过 EOS 网络基金会(ENF)作为多链协作和发展公共基础产品的工具,进一步完善基础设施,驱动 EOS 快速发展。
EOS EVM
EOS EVM 是对以太坊 EVM 的模拟,并位于 EOS 智能合约中。 EOS EVM 将提供与该领域其他 EVM 同等的功能,但具有无与伦比的速度、性能和兼容性优势。 EOS EVM将EOS生态系统与以太坊生态系统连接起来,允许开发者在EOS上部署大量基于Solidity的数字资产和创新的dApps。 开发者可以使用EOS EVM来利用以太坊经过战斗考验的开源代码、工具、库和SDK,同时利用EOS的卓越性能。
关于 EOS 网络基金会
EOS 网络基金会(ENF)诞生旨在为 EOS 生态营造一个繁荣、去中心化和未来。 通过鼓励 EOS 生态主要利益相关者的积极参与、扶持社区项目、提供生态系统资助和支持开放技术生态系统建设等举措,ENF 正在掀起新一轮 Web3 变革。 作为 EOS 网络的中心和一个领先的开源平台,ENF 成立于 2021 年并拥有一套稳定的框架、工具和区块链部署库。 我们一起实现了社区建设的创新,并致力于为所有人创造更强大的未来。