美文网首页
[eos31]nodeos-重放-日志-升级

[eos31]nodeos-重放-日志-升级

作者: FriendOfTime | 来源:发表于2020-04-27 20:51 被阅读0次

    https://developers.eos.io/manuals/eos/v2.0/nodeos/replays/index

    最近各种原因,感觉进度有些慢,所以会稍微改变下策略,以提升学习进度。

    之前几乎是每句话都会看多遍,且按句翻译,这对于某些不是特别核心的知识点不是有必要的,有些内容在需要时再去查找就好了,知道有这个东东就行。因此,后续会根据个人对重要性的判断,会进行内容的取舍,以加快进度。

    1, 重放

    所谓重放就是,一个干净的nodeos去重新“执行”一遍当前区块链上的所有交易,以达到某种数据状态的动作。

    用于一个干净的nodeos快速跟上当前区块链的数据状态。

    有两种方式实现重放:

        1)通过blocks.log文件:blocks.log文件包含所有不可逆的块,该方式会重建所有交易历史,不会为网络增加不必要的负载。

        2)通过snapshot文件:snapshot是通过正在运行的nodeos节点创建的,该方式没有所有历史信息,只有某个点的chain state信息。

    2,日志

    日志的配置在logging.json中,在nodeos目录中没有找到该配置。官方文档说是在nodeos/config下,可能是我的没有配置,默认没有。

    日志有两种打印方式:

        1)console:直接输出到屏幕上

        2)  GELF:graylog extended log format.将日志发送到graylog

    3,升级指导

    https://developers.eos.io/manuals/eos/v2.0/nodeos/upgrade-guides/1.8-upgrade-guide

    翻译:https://blog.csdn.net/EOS42/article/details/90717404

    这章相对重要。主要是对1.7及之前版本升级到1.8版本的情况作指导。

    3.1 测试网络

    任何升级都应该先在测试网络部署且验证后才能部署到正式网络上。

    支持初始协议集升级的nodeos版本是v1.8.1。

    不理解PREACTIVATE_FEATURE,NO_DUPLICATE_DEFERRED_ID之类的协议特性是干啥的,希望牛人指导。

    3.2 升级过程

    这些步骤应该在一个额外的节点上执行,它们可以在一段较长时间内离线:

        1)确保当前节点运行在最近稳定的release版本(1.7)上,然后关闭nodeos

        2)备份并删除data目录中的文件夹:blocks/reversible,state

        3)用新的release版本替换旧的nodeos版本

    4)启动新的 1.8.x 版本的 nodeos, 将其从创世文件开始进行完全的重播(replay), 与网络同步。节点应接收区块,LIB 应当往前进。运行着 v1.8.x 与 v1.7.x 的节点在激活首个协议升级特征之前可以在相同网络中同时存在。

    3.3 BP需要注意的

    BP需要在一个专门的机器上进行重放,然后可以快速切换到生产环境。

    一旦所有BP激活了PREACTIVATE_FEATURE,所有运行1.7的节点无法继续同步区块,lib不会在前进。因此,协调升级的日期是非常重要的。

    升级过PREACTIVATE_FEATURE之后,再升级其他feature将会非常简单,可以在任何时间升级。

    相关文章

      网友评论

          本文标题:[eos31]nodeos-重放-日志-升级

          本文链接:https://www.haomeiwen.com/subject/dqxpwhtx.html