create account

简单测试一下hive HF24 候选版 by oflyhigh

View this thread on: hive.blogpeakd.comecency.com
· @oflyhigh ·
$59.35
简单测试一下hive HF24 候选版
这两天Hive HF24的官方候选版出来啦,简单测试了一下,看看都有哪些变化。


![image.png](https://images.hive.blog/DQmaKX6Brt4Ez6MiDm16J59Tr9yrzsdzCagiNHhSBWRdhvV/image.png)
(图源 :[pixabay](https://pixabay.com/))


# 编译

首先测试了一下编译,编译过程中我觉得需要注意的就是,如果你之前使用`make -j$(nproc) steemd`,那么要相应的改成`make -j$(nproc) hived `其它的包括编译命令行钱包过程都和之前没太大变化,就不再赘述了。

编译会生成`hived`这个可执行文件,这样好多了,再也不会弄混了。

编译完成看一下版本号:
`./hived --version`
>` "version" : { "hive_blockchain_hard_fork" : "1.24.0", "hive_git_revision" : "1aa1b7a44b7402b882326e13ba59f6923336486a" }`

# 直接运行

直接运行`hived`试试看
>`hived`

除了一些其它信息外,会显示出LOGO以及版本号信息等,chain_id还没有变化(应该是分叉时变化吧)
>![image.png](https://images.hive.blog/DQmUMJR7x3p6u4p8jXQXgWgry57gysdM7ibMviQRioCBK12/image.png)

我们会发现`hived`在用户目录下创建了` .hived `隐藏目录,里边包含默认的配置文件等,然后区块自动开始同步。
>![image.png](https://images.hive.blog/DQmYHmF79ZBaKLhrWaMk38r2F2LjTUYdpgTmLzNETrX8vsy/image.png)

如果等它自动同步完成,会是一个超级漫长的时间,直接关掉。

# 从原有blockchain数据运行

将原有的hive 0.23.0的blockchain数据复制到`.hived`目录下,测试是否可以直接运行。

发现出现如下错误:
>Probably database created by a different compiler, build, or operating system.

截图:
>![image.png](https://images.hive.blog/DQmURcZd2JQHWCWhsRRv1YsiJKhmfJ7koEW1uMXfWyymgET/image.png)

尝试一下使用`--force-open`,则出现如下图所示错误:
>![image.png](https://images.hive.blog/DQmU4Q862dbiVBJPdYWeNJvq12qXUwfS2WLCbQMoVDdeDhT/image.png)

看来想偷懒是不行的啦。

# Replay

既然用原来的数据直接运行不行,那就只好Replay了。

直接使用如下指令replay区块,发现出现和直接用原来数据运行一样的错误:
>`hived --replay-blockchain` 

使用如下指令删除shared_memory.bin以及block_log.index,再replay,一切正常:
>`rm -rf shared_memory.bin block_log.index`

# 测试Replay过程重启

分别在Reconstructing Block Log Index以及Replaying blocks过程中用`Ctrl+C`终止程序,均能正常退出。

退出后重新执行`hived --replay-blockchain`均能正常接续。

Replay完成大致用时7、8个小时(默认配置、SSD)

# 同步过程重启
当replay完,在同步到最新块(Syncing Blockchain)的过程中,使用`Ctrl+C`终止程序,程序正常退出。

执行`hived`,程序正常接续,一切正常。


# 测试快照功能

hived有个激动人心的新功能,那就是快照。

我之前测试快照功能死活没找到快照生成到哪里,今天看到@gtg 在聊天里说的需要在配置文件中加上:
>`plugin = state_snapshot`

加上后,在测试一下生成快照:
>`hived --dump-snapshot test123`

发现快照成功的生成了:
>Successfully opened db at path: `/xxx/.hived/snapshot/test123/snapshot-manifest'
>State snapshot generation. Elapsed time: 37245 ms (real), 84648 ms (cpu). Memory usage: 71527496 (current), 71994160 (peak) kilobytes.
>Snapshot generation finished

和我之前想象的快照是一个文件不同,快照是一个文件夹,包含一大堆文件,不过这没啥区别啦:
>![image.png](https://images.hive.blog/DQmSfagPvGeRXTnNaeYJ9X3pjsqoUmuJ8DYQ4dM8LKV9UFp/image.png)

之后就可以使用快照来启动hived啦:
>`hived --load-snapshot test123`

然后会出现一堆类似如下的信息,等待就好了:
>![image.png](https://images.hive.blog/DQmdg5rqnAyLPFpHFZMXmXFgi7AoqtNATqqrxGagidbuiWr/image.png)

然后等了大概十多分钟后竟然出现如下信息:
>![image.png](https://images.hive.blog/DQmd7G8fVTm1PiP86vxmRF5XvJgvMpSi23XrGdUMJQqitu6/image.png)

看了一下blockchain目录:
>![image.png](https://images.hive.blog/DQmQ4erCgw2hYmZ4gAif3gAuQ7TfggKdvsVPXycdrFp3KmU/image.png)

重启`hived`,出现如下错误:
>`head_block.valid() && head_block->first.id() == head_block_id(): Chain state does not match block log. Please reindex blockchain.`

看来我还是没用明白快照功能,一定是哪里搞错了。😳


# 其它

一个值得夸赞的地方是,shared_memory.bin 大小***缩减到17G(原来要接近60G了)***,这样的话,运行见证人的机器可以降低一些配置啦,会省下大笔的开销。

另外,早晨看到 @gtg  发了一个hive HF24相关的测试贴,内容很详尽,大家可以参考一下那个。

# 相关链接

* https://gitlab.syncad.com/hive/hive/-/releases/v1.0.11
* [Witness Update: Release Candidate for Eclipse is out. by @gtg](https://hive.blog/hive-160391/@gtg/witness-update-release-candidate-for-eclipse-is-out)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 214 others
👎  
properties (23)
authoroflyhigh
permlinkhive-hf24
categoryhive-105017
json_metadata{"tags":["witness-category","witness-update","hf24","hive","eclipse"],"users":["gtg"],"image":["https://images.hive.blog/DQmaKX6Brt4Ez6MiDm16J59Tr9yrzsdzCagiNHhSBWRdhvV/image.png","https://images.hive.blog/DQmUMJR7x3p6u4p8jXQXgWgry57gysdM7ibMviQRioCBK12/image.png","https://images.hive.blog/DQmYHmF79ZBaKLhrWaMk38r2F2LjTUYdpgTmLzNETrX8vsy/image.png","https://images.hive.blog/DQmURcZd2JQHWCWhsRRv1YsiJKhmfJ7koEW1uMXfWyymgET/image.png","https://images.hive.blog/DQmU4Q862dbiVBJPdYWeNJvq12qXUwfS2WLCbQMoVDdeDhT/image.png","https://images.hive.blog/DQmSfagPvGeRXTnNaeYJ9X3pjsqoUmuJ8DYQ4dM8LKV9UFp/image.png","https://images.hive.blog/DQmdg5rqnAyLPFpHFZMXmXFgi7AoqtNATqqrxGagidbuiWr/image.png","https://images.hive.blog/DQmd7G8fVTm1PiP86vxmRF5XvJgvMpSi23XrGdUMJQqitu6/image.png","https://images.hive.blog/DQmQ4erCgw2hYmZ4gAif3gAuQ7TfggKdvsVPXycdrFp3KmU/image.png"],"links":["https://pixabay.com/","https://gitlab.syncad.com/hive/hive/-/releases/v1.0.11","https://hive.blog/hive-160391/@gtg/witness-update-release-candidate-for-eclipse-is-out"],"app":"hiveblog/0.1","format":"markdown"}
created2020-08-24 03:49:24
last_update2020-08-24 03:49:24
depth0
children2
last_payout2020-08-31 03:49:24
cashout_time1969-12-31 23:59:59
total_payout_value32.444 HBD
curator_payout_value26.906 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,288
author_reputation4,637,856,919,713,147
root_title"简单测试一下hive HF24 候选版"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,240,088
net_rshares146,621,361,316,048
author_curate_reward""
vote details (279)
@icon123456 ·
🤤技术大佬
properties (22)
authoricon123456
permlinkre-oflyhigh-2020824t125841186z
categoryhive-105017
json_metadata{"tags":["witness-category","witness-update","hf24","hive","eclipse"],"app":"ecency/3.0.4-vision","format":"markdown+html"}
created2020-08-24 04:58:42
last_update2020-08-24 04:58:42
depth1
children0
last_payout2020-08-31 04:58:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5
author_reputation107,118,451,598,006
root_title"简单测试一下hive HF24 候选版"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,240,902
net_rshares0
@oflyhigh ·
补充一下:

我还以为hive的快照功能和EOS一样,能直接从快照启动呢,今天试了一下加载失败。

看了一下开发者频道的聊天,才知道还是依赖于block_log,相当于通过快照和block_log回到快照时间点的状态。

尽管不能摆脱对block_log的依赖,但是也避免了类似EOS上没法用get_block啥的获取快照之前的block的问题。

总之,还是相当不错的功能。
properties (22)
authoroflyhigh
permlinkqfki37
categoryhive-105017
json_metadata{"app":"hiveblog/0.1"}
created2020-08-24 12:16:24
last_update2020-08-24 12:16:24
depth1
children0
last_payout2020-08-31 12:16:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length188
author_reputation4,637,856,919,713,147
root_title"简单测试一下hive HF24 候选版"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,245,728
net_rshares0