两天前,我发帖子说后B1时代EOS的大事就是EOSIO变成了Antelope,9月21号,EOS上的区块链生产者将执行共识升级,将节点软件升级至Leap 2.1(实现Antelope协议的区块链节点软件和支持工具)。
(图源 :pixabay)
根据以往的经验,共识升级要求所有的节点都升级到最新版本,否则就会停止同步区块。那么更具体的来讲,都需要做什么呢?
ENF的网站上有一篇升级向导:Leap 3.1 Upgrade Guide,我们来简单地学习一下(非翻译)。
对于运行EOS节点(BP、API、P2P等),要做的事情有:验证先决条件,删除过时的插件,并在更新二进制文件之前更改配置设置。
Once the software is released, node operators must validate prerequisites, remove obsolete plugins, and change configuration settings before updating binaries.
在进行正式更新之前,建议使用测试服务器首先进行测试,需要说明的是Leap 3.1支持Ubuntu 18.04、20.04、22.04这三个版本的操作系统,如果你运行其它版本的OS,建议(或者说必须)切换到这个三个版本上来。
首先是软件本身的更新,你可以选择自行编译Leap 3.1,或者使用预先编译好的软件,这个取决于自己的操作习惯吧,我更倾向于自行编译。
然后是移除过时的插件,如果你的节点正在使用History v1( “history_plugin” + “history_api_plugin”)以及MongoDB( “mongo_db_plugin”),那么需要做对应的迁移处理。如果你没有使用这些插件,那么恭喜,会省不少事情。
然后就是你当前运行EOSIO软件版本的事情了,简单来讲,如果当前版本是 EOSIO 2.0,那么会省好多事;如果是 EOSIO 2.1,那么就要多折腾一大圈了。
Leap 3.1 is based on EOSIO 2.0, so upgrading nodes from EOSIO 2.0 is straightforward.
这是因EOSIO 2.1 使用了与 Leap 不兼容的状态历史插件 (SHiP) 文件和 blocks.log 文件。哈哈,懒惰有时候其实也是有好处的。
对于EOSIO 2.1,如果不想保存blocks.log或者状态历史,那么升级其实也很简单,直接从snapshot启动就可以啦。更细节的操作请参考升级向导。
升级过程,首先是创建一个快照,指令如下(前提是开启了eosio::producer_api_plugin
插件):
curl -X POST http://127.0.0.1:8888/v1/producer/create_snapshot
当然,也可以从下列链接下载快照:
https://snapshots.eosnation.io/ (zstd, unzip before using)
https://snapshots-main.eossweden.org/ (unzip tar.gz, Use 2.0)
https://snapshots.greymass.network/eos/ (unzip tar.gz, use latest)
https://snapshots.eosamsterdam.net/public/eos/ (tsv, use latest)
http://seed01.eosusa.news/snaps/eos/ (unzip tar.gz, use last modified)
https://snapshots.eosphere.io/ (unzip zst, use latest)
还有一种办法就是从头(创世块)开始replay,服务器足够快的话,可能只需要几周就可以完成了,哈哈哈,你要不要试试看?
有些配置选项被移除或者被修改,比如这些选项:
reversible-blocks-db-size-mb
reversible-blocks-db-guard-size-mb
fix-reversible-blocks
import-reversible-blocks
export-reversible-blocks
这些选项(Block log splitting)是NODEOS 2.1中引入的:
blocks-log-stride
max-retained-block-files
blocks-archive-dir
需要被移除,使用block-log-retain-blocks
替代。
剩下的安装/使用软件,以及使用快照功能启动之类的,大家参考升级向导吧,这里就不在赘述了。其实我觉得这两个话题属于日常操作问题,和升级本身关联不大。
升级过后,等待激活新功能即可(这可能需要BP们通过多签实现),然后就可以期待Leap的新功能上线后使用新功能啦,比如说Trust EVM 合约和最受欢迎的钱包等(别问我是啥,我也不知道)。
(图源 :pixabay)
那就这样吧,更具体的内容大家文末链接吧,后B1时代的LEAP,究竟会给EOS社区带来哪些变化,让我们拭目以待吧。