如果你有关注HIVE区块链上的见证人信息,就会发现TOP20见证人中很多人将见证人节点更新至v1.27.3,并可能会有些好奇,v1.27.3版本都更新了些什么,为什么见证人们都会升级?
(图源 :pixabay)
Soft Fork v1.27.3
首先说一下,这是一次软分叉升级(Soft Fork),对于HIVE上的老朋友而言,经历过N轮硬分叉(Hardfork),对于硬分叉可能都不会觉得陌生,那就是区块链协议共识升级,那么软分叉又是什么呢?
简单来讲,软分叉也是一种升级,不过不会影响共识协议,所以即便是有些节点没有升级到最新版本v1.27.3,继续使用v1.27.0,也不会影响同步以及出块。
HIVE区块链上最著名的两次软分叉大概就是Soft Fork 0.22.2以及Soft Fork 0.22.5啦,感兴趣的朋友可以去扒一扒这两次软分叉历史信息,我就不再赘言了。
软分叉需要【半数以上】(印象中是如此,有待核实)TOP20见证人升级才会激活,所以你会注意到很多TOP20见证人已经更新到v1.27.3啦。
截至我撰写本文时,TOP20的升级情况如下:
v1.27.3 更新了些啥?
从v1.27.3的 Releases Notes可以看到v1.27.3主要更新了以下内容:
- 与RC delegation相关的更新
- recurrent_transfer 中RC的计算
- database_api::list_proposal_votes中BUG的修复
- list_rc_accounts, list_rc_direct_delegation 中BUG的修复
- 其它修改
从更新内容来看,对我们普通用户影响不大。
@howo 撰写了一篇关于 v1.27.3 相关修改的文章,涉及了一些细节问题,感兴趣的可以去参考。
更新我的见证人节点到v1.27.3
虽然不是TOP20见证人,我还是及时讲我的见证人节点更新到v1.27.3。
先是编译v1.27.3,编译成功后查看一下版本:
hived_v1.27.3 --version
返回信息如下:
{"version":{"blockchain_version":"1.27.3","hive_revision":"b512d8fc126fbbfb23d4de5b9154517aa00fcc4e","fc_revision":"b512d8fc126fbbfb23d4de5b9154517aa00fcc4e","node_type":"mainnet"}}
虽然没有共识升级,但是v1.27.3修改了状态数据库的格式,所以是需要replay的。
this update changes hived state format and requires hived node replay, if you are using version 1.27.2 or earlier.
使用如下指令replay HIVE区块链:
hived_v1.27.3 --force-replay
HIVED会打印出LOGO以及版本信息:
然后开始Replay:
今早起来看,发现备份节点Replay已经成功,将见证人切换到备份节点,过了一会发现见证人已经在v1.27.3版本上成功出块:
接下来开始在主节点上Replay,等Replay完成在切换回来,就彻底完工啦。