2022 年 9 月 21 日星期三,EOS 区块生产者将通过执行 Mandel 3.1 的协调共识升级,开始开辟一条通往自主发展的新道路。
任何运行节点的人都必须在 9 月 21 日之前升级其节点,才能继续与网络同步。
Mandel 3.1 版本的协调共识升级包括由网络共识为指导的优先事项。 在此版本中,EOSIO 网络联盟正式用 EOS 网络基金会 (ENF) 核心开发团队,取代了之前不专注工作的 EOSIO 开发人员。 这种解放实现了跨链合作,并将网络推向未来。
Mandel 升级代表网络拥有了自己的代码库。
作为网络的守护者,EOS 上的区块生产者承担着稳定网络升级的责任。 然而,随着共识升级的到来 ,网络中的所有节点都需要更新。
过去几周,有许多人一直在参与测试 Mandel 3.1,EOS 网络基金会工程团队也定期推送候选版本。相关测试仍在继续,因为开发人员正在对 Mandel 3.1 和相关软件进行最后的润色,预计在未来几天发布。
与之前的 EOSIO 1.8 版本一样,Mandel 3.1 需要区块生产者和其他网络参与者之间的协调,以确保网络共识升级的顺利进行。 软件发布后,节点运营商必须验证先决条件,删除过时的插件,并在更新二进制文件之前更改配置设置。
本文档提供了一个升级清单,以促进节点升级过程并避免中断操作。某些特定步骤可能因现有节点配置而有所不同,但这些基本步骤适用于大多数节点。
开发人员可以填写一份调查表(调查问题),以帮助确定最常用的 API 节点,并帮助确定资源的优先次序。
当 EOS 网络基金会发布了最终版本,节点运营商就可以升级到 Mandel。最新的版本可从GitHub获取。
使用这些插件的节点必须在激活前调整其解决方案,最好立即进行:
运营商可以将其解决方案迁移到Hyperion或Chronicle等服务上。
此时,如果要用快照升级 2.0(非 2.1)节点,可以继续准备升级。
如果您使用的是 EOSIO 2.1,您可能还需要进行其他工作:
apt install bsdextrautils
hexdump <nodeos data directory>/blocks/blocks.log | head
(The <nodeos data directory> 将是将是 nodeos 存储区块链数据的 “data” 目录,例如, “.local/share/eosio/nodeos/data”)
输出中的第二个数字(顶行,左起第二列)对应 block.log 版本。 0001、0002 或 0003 都正常。 0004 来自 EOSIO 2.1,不兼容。
0000000 0003 8000 6a7f 017e e473 5a38 0827 d7e6
0000010 8804 fb34 07c1 2f9f b1ab 3c7b 5b12 6a14
输出继续。除了字体加粗部分外,其他内容将有所不同。
图 1,运行 2.1 的节点根据其配置必须采取的步骤表
( 黄色和红色突出显示的单元格代表可能需要数周时间才能完成的步骤 )
如果您对升级过程有任何疑问,请联系 EOS Support获取帮助。
下载预建的二进制文件来安装 Mandel。希望自己构建 Mandel 的操作者可以在readme中找到说明。
如果需要安装二进制文件的话,在安装之前,请确保您拥有兼容的快照。
curl -X POST http://127.0.0.1:8888/v1/producer/create_snapshot
要执行快照,必须使用配置选项 plugin = eosio::producer_api_plugin 启动节点
确保您的节点在启用 producer_api_plugin 时不向公众公开,因为它仅适用于管理员。
https://snapshots.eosnation.io/(zstd,使用前解压)
https://snapshots-main.eossweden.org/(解压 tar.gz,使用 2.0)
https://snapshots.greymass.network/eos/(解压 tar.gz,使用最新的)
https://snapshots.eosamsterdam.net/public/eos/(tsv,使用最新的)
http://seed01.eosusa.news/snaps/eos/(解压 tar.gz,使用最后修改的)
一些配置选项已经改变,如果存在无效的配置选项,节点将无法启动。
reversible-blocks-db-size-mb
reversible-blocks-db-guard-size-mb
fix-reversible-blocks
import-reversible-blocks
export-reversible-blocks
blocks-log-stride
max-retained-block-files
blocks-archive-dir
当前运行 EOSIO 2.1 的所有节点都应删除状态历史记录。
从数据目录中,用以下方法删除 /state-history 目录中的文件:
rm <nodeos data directory>/state-history/*
所有拥有 2.1 中的 block log 0004 版本的节点都应该删除 Block log。
rm <nodeos data directory>/blocks/*
rm <nodeos data directory>/blocks/reversible/*
以下为使用快照安装。需要为 SHiP 或 block log 回放交易的节点操作者应知悉,回放可能需要数周时间才能完成。
提高 block.log 文件重新同步速度的注意事项(适用于2.1 节点):
在出块服务器上重复这些步骤之前,请先在一台测试服务器上执行这些步骤。
从一个新的 Ubuntu 节点开始,或者通过停止节点并删除旧的二进制文件来更新现有节点。 要删除旧的二进制文件,通常可以使用:
dpkg --remove <old-pkg-name>
rm <nodeos data directory>/state/*
从 GitHub 发布页面下载最新的 Ubuntu 二进制文件。
打开终端窗口并运行 dpkg -i filename.deb,将 filename.deb 替换为下载的 Ubuntu 软件包的文件名。
完成这些步骤后,节点就可以在 9 月 21 日激活协议了。
在 Mandel 安装后,节点操作者已准备好让区块生产者激活新功能。在激活后的某个时间点,区块链生产者可以更新系统合约。
Mandel 的新功能带来了强大的用户体验改进。然而,用户不能立即使用这些工具,因为当开发者更新他们的应用程序以利用新功能时,可能会出现一个时间差。
第一批使用 Mandel 新功能的应用程序,最有可能是 Trust EVM合约和非常受欢迎的钱包。 其他应用程序将需要一些时间,将新的 Mandel 功能纳入其工作流程。 虽然软件开发工具包 (SDK) 的发布将加速 Mandel 功能的可用性,但采用仍需要时间。
区块生产者同时激活 Mandel 3.1 中的所有新功能。 尽管不太可能出现问题,但这些变化可能会影响智能合约和 dApp。 开发人员可以使用 Jungle4 等公共测试网,来确保他们的 dApp 继续按预期工作。 开发人员还可以使用这些测试网络来测试新的 Mandel 功能。
合约开发工具包 (CDT) 已升级,使用此工具的人需要注意一些小的命名更改:
下一个新版本可能会包括更多的命名更改。
EOS 网络直接开发并资助了 Mandel 3.1 升级,并敞开怀抱接受开发者和运营商的建议。该版本代表了基于 EOSIO 代码库的链的发展新时代,并且在深陷于疏于管理且前景不可预测的泥沼多年之后,EOS 重新迈出了坚实的一步。在 EOS 网络基金会的关注和指导下,在区块生产者的认可和共识下,EOS 终于掌握了自己的命运。
EOS 网络直接开发并资助了 Mandel 3.1 升级,并敞开怀抱接受开发者和运营商的建议。该版本代表了基于 EOSIO 代码库的链的发展新时代,并且在深陷于疏于管理且前景不可预测的泥沼多年之后,EOS 重新迈出了坚实的一步。在 EOS 网络基金会的关注和指导下,在区块生产者的认可和共识下,EOS 终于掌握了自己的命运。
EOS 网络基金会是一个非营利性的组织,旨在倾听社区声音、传达社区意愿并扶持社区优质项目发展,成为 EOS 社区的信息共享桥梁,并为 EOS 生态提供资金、技术、运营、未来规划、生态构建等关键基础设施支持,进一步发挥 EOS 作为世界速度最快的治理型区块链的全部潜力。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。