当前位置:首页 > 物联网 > 区块链
[导读] 在「如何获取最新版的 Forge」中我们介绍了如何进行Forge链的硬升级(需要重置本地链的状态),硬升级的做法在开发环境下比较方便,相当于清空数据库的记录。 而有些时候,可能你的测试链

在「如何获取最新版的 Forge」中我们介绍了如何进行Forge链的硬升级(需要重置本地链的状态),硬升级的做法在开发环境下比较方便,相当于清空数据库的记录。

而有些时候,可能你的测试链跑了一段时间,上面产生了不少测试数据,重新产生这些测试数据可能费时费力,你既希望升级到最新版的 Forge,又希望保留之前启动过的链的状态,鱼与熊掌可以兼得么?答案是肯定的,接下来我们来讨论具体的操作步骤。

在介绍升级步骤之前,我们有必要再次强调下链的升级在不同上下文的区别:

•在开发环境我们可以毫无顾虑的进行链的重置、升级、启停,因为你不会影响到其他人或者用户

•在生产环境,因为整个区块链是分布式的网络,升级的动作需要由链的运营者来决定,而升级的结果需要在整条链的所有节点间同步

本文探讨的是前面一种情况,即开发环境下的具体做法。

准备工作

Forge CLI 是 ArcBlock 官方开发和维护的管理本地 Forge 链、节点的命令行工具,建议定期升级 Forge CLI[1] 到最新版本:npm install -g @arcblock/forge-cli。

了解 Forge 最新版本

你读到这篇文章时,已经发布的最新的 Forge 版本是:

了解 Forge 本地版本

如果你想知道本地 Forge 链的版本,直接运行:forge status,得到如下执行结果:

其中红色圈圈中的版本就是当前链所使用的版本,我本地链的版本是 v0.36.5。

当然,你也可以执行:forge ls,得到如下执行结果:

其中红框圈出的版本也是当前链使用的版本,forge ls 会列出本地已经下载过的所有可使用的 Forge 版本,并把当前使用的版本高亮出来。

升级的前提是我们本地使用的版本比远程的最新版本低,如果两个版本相同的话,你可以到此打住啦,哈哈!

下载 Forge 最新版

如果要把本地 Forge 链从 v0.36.5 升级到 v0.37.0,需要先下载 Forge v0.37.0 的全部组件,执行如下命令:

forge download latest

# 中国用户

forge download latest --mirror http://arcblock.oss-cn-beijing.aliyuncs.com

可能有人会问,forge download 和 forge install 有啥区别?两者都会从我们的镜像下载指定版本(或最新版)的 Forge,不同点在于 forge download 只会下载,而 forge install 下载完之后会把本地使用的 Forge 版本切换到刚下载的版本,硬升级的时候用的就是 forge install。

怎么确定有没有切换本地当前使用的 Forge 版本?再次执行 forge ls:

可以看到,被高亮的还是 v0.36.5。

配置链管理员

对于区块链来说,所使用软件的版本其实相当于安装在电脑硬件上的操作系统,如果要升级操作系统的版本,我们要输入管理员密码、把操作系统停下来、重新启动完成升级,如果你经历过操作系统的升级,Forge 链的升级就很好理解。

首先,我们需要给链配置 1 个管理员(moderator,本意是协调员,因为区块链本身需要在多节点,在多节点间达成共识需要协调员),而任何能够修改链状态的实体本质都是一个钱包,即公私钥对,对于没有配置过链管理员的同学,需要先用 forge wallet:create --defaults 来生成一个管理员钱包,并且保存好钱包私钥。

为了后续方便,我们先把链管理员私钥配置到环境变量里面,把下面这行加到你的 ~/.bashrc 或者 ~/.zshrc 里面(记得把私钥换成你生成的那个):

export FORGE_MODERATOR_SK=“qDWzV5cv8wSa-I2CKiLHm3msM9GeYyjOo4yo3iNicT8xlZqcdY_o0REVnffjD_wq85sCjoka6B7D-BLPxcXUcA”

如何确保你正确把管理员私钥导出到了环境变量里面?直接执行 echo $FORGE_MODERATOR_SK,如果有结果输出并且和你生成的私钥相同,说明配置正确。

接下来我们需要把链管理员信息添加到 Forge 的配置里面:

•如果你使用的是 Forge CLI v0.36.0 以下的版本,并且按本文操作时没有升级到最新版,你的配置文件在:~/.forge_release/forge_release.toml

•如果你使用的是 Forge CLI v0.36.0 及以上版本,你的配置文件在:~/.forge_chains/forge_default/forge_release.toml

当然,我们有更简单的方式,直接获取 Forge 链配置文件的路径:forge config | grep file

需要把什么内容添加到 Forge 的配置文件里呢?我们不妨直接运行 forge upgrade 试试:

可以看到,Forge CLI 提示我们配置文件里面没有管理员相关的配置,并且提示我们要把什么内容添加进去:

[forge.moderator]

address = “z1ScT4nkbA8b6cQBKQoyWTnnQnXAsmPsdhk”

publicKey = “MZWanHWP6NERFZ334w_8KvObAo6JGugew_gSz8XF1HA”

打开 Forge CLI 给出的配置文件路径,把上面的配置追加到文件的末尾,保存后退出。

重新启动

因为我们添加管理员的操作修改了链的配置,为了是配置生效,需要重新启动 Forge 链,依次执行如下两条命令:

forge stop

forge start

重新启动之后,包含了管理员的配置被加载到 Forge 的运行配置中,接下来我们就可以以管理员的身份往链上发送升级的指令。

开始升级

万事俱备,接下来再次运行:forge upgrade,如下图需要做出几个升级的配置:

•要升级到的版本,选择 v0.37.0

•在哪个块高升级,可以根据当前的块高加上适当的增量,比如当前块高 33,我们就在 53 块高出升级,如果出块时间配置的是 3 秒,意味着 1 分钟之后会发生升级

•确认升级操作,因为这个操作是不可逆的,如果到这里后悔了,输入 N 或者 Ctrl + C 即可中止

回车确认之后,Forge CLI 会用管理员的身份往 Forge 链发送 1 个 UpgradeNode 的交易,交易被成功打包之后,Forge 链会在预设的高度停下来,然后 Forge CLI 检测到 Forge 链完全停止之后会再次把链启动起来,这样就完成了整个升级的过程。

验证升级

如何验证升级是成功的呢?再次执行 forge status,

检查当前链状态里面的版本号,已经变成了升级后的版本。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

德国殷格翰2024年4月16日 /美通社/ -- 今天,研发驱动的全球领先生物制药企业勃林格殷格翰发布了2023年全年业绩表现。公司加速夯实研发管线,重点研发领域的多项关键性临床试验顺利按计划推进。全年研发投入同比增长1...

关键字: 管线 可持续发展 GE TI

欧莱雅中国旗下上海美次方投资有限公司达成首次开放式创新投资 法国克里希2023年9月22日 /美通社/ -- 欧莱雅集团宣布对中国创新型生物科技公司杉海创新进行少数股权投资,以建立长期合作伙伴关系,共同开发新...

关键字: AN BSP DEVELOPMENT FOR

轻薄实力! 深圳2023年9月22日 /美通社/ -- 9月20日,由中国电子信息产业发展研究院主办的2023琴珠澳集成电路产业促进峰会暨第十八届"中国...

关键字: FOR PCIE SSD 中国芯

南京2023年9月19日 /美通社/ -- 9月15日-9月17日,南京天加能源科技有限公司(以下简称“天加能源”)旗下的EXERGY公司携有机朗肯循环(ORC)系统参加2023年世界地热大会,集中向参展企业、...

关键字: RC 新能源 可再生能源 BSP

南京2023年9月19日 /美通社/ -- 地热,这个长期以来被大众忽视的绿色能源,正在以一种意想不到的方式重新进入我们的视野。就像将一剂强心针注入到我们对未来能源的思考中,EXERGY卤水发电技术,这个在20...

关键字: 电站 RC 装机容量 发电机组

国轩德国基地首款电池产品正式下线 下萨克森州州长斯蒂凡·魏尔等中德政府官员共同见证 同期与巴斯夫中国、ABB、Ebusco、Ficosa等多家国际知名企业签约 德国哥廷根2023年9月1...

关键字: 电池 国轩高科 GE AN

(全球TMT2023年9月15日讯)企业移动性管理领域企业42Gears宣布推出AstroStatus,这是一种直观的事件沟通解决方案,旨在增强企业能力,让企业在云托管解决方案出现服务中断和意外故障时能随时向客户通报情...

关键字: STATUS RS OS GE

印度班加罗尔2023 9月15日 /美通社/ -- 企业移动性管理领域的领先企业 42Gears 十分高兴地宣布推出AstroStatus,这是一种直观的事件沟通解...

关键字: STATUS RS OS GE

ISM3091是一款口服高选择性USP1小分子抑制剂,由英矽智能自主研发的人工智能平台赋能开发,在 BRCA 基因突变的肿瘤模型中具有强效活性。 2023年4月,美国食品药品监督管理局(FDA)批准了英矽智能关...

关键字: 许可协议 ISM 人工智能 RC

与全球一线标准治疗方案泰瑞沙单药治疗相比,联合疗法降低疾病进展风险38% 新加坡2023年9月12日 /美通社/ -- III 期临床研究FLAURA2的阳性结果显示,在局部晚期(IIIB-IIIC 期)或转移性(IV...

关键字: BSP AI FOR SMALL
关闭
关闭