咨询热线:027-0000000 关注我们

释放节点存储空间

来源: 中亿财经网整合 作者: 中亿财经网-周盛梅 2021-03-17 加入收藏 104

在这篇文章中,我们将向您介绍Klaytn v1.5.0的新特性“状态迁移”。凭借这一特性,您可以只保留起始于某一区块的链上最新状态,同时转存不必要的状态和数据。这个方法将能释放多达75%的节点存储空间。

概述

什么是状态Trie

在Klaytn区块链平台上,所的账户信息都保存在Merkle Patricia Trie(又称为状态Trie)数据结构中。这一Trie结构保存在Klaytn节点存储中。

区块链上的每一个区块都包含一个状态Trie。也就是说,一个Klaytn区块包含一个状态Trie,并存储着所有的账户信息。

什么是状态迁移?

状态迁移是指在特定区块完全从节点存储中删除之前执行状态Trie复制的处理过程。通过保留指定区块以及后续添加区块的状态Trie,节点将最终只存储终端节点(EN)运行所需的新的区块链数据,这能节省很多存储空间。

状态迁移包含以下步骤:

?

1、选择迁移区块

选择要保留在EN存储中的区块的状态Trie。换言之,您要确定某一节点,用于保存您想留存的数据。

2、复制区块状态Trie

一旦选定迁移区块,新的数据库就会建立。在迁移当前数据库中的区块状态Trie之时, 状态Trie中的所有节点都被复制到新的数据库中。

注:在复制某一指定区块状态Trie时,新区块也在不断地添加至区块链中。

3、验证复制的状态trie

某一指定区块状态trie被复制到新数据库后,应当验证该状态Trie,以确定所有复制数据的完整性。

4、删除旧数据库,开始在新数据库中存储

验证过后,删除旧数据库,并开始为新数据库中的新添加区块存储状态Trie。

?

推荐系统需求

为执行状态迁移,AWS上至少需要一个m5.4xlarge 实例。完成一次状态迁移,需消耗约50小时(截止2020年年8月,Cypress主网的数据。)这是同步最新区块、迁移区块状态trie、将trie节点复制到新数据库并验证它们所需的时间。如果是较大实例,花费的时间会更少。m5.8xlarge实例所消耗时间大约为30小时。

前提条件

执行状态迁移需要Klatynv1.5.0或以上的版本。要完成更新,请下载Klaytn 1.5.0 binary(链接:https://docs.klaytn.com/node/download/latest),停止现有节点,替换下载的binary,然后再次安装Klaytn。更新过程可能因系统环境而异。具体操作请参阅EN安装指南(https://docs.klaytn.com/node/endpoint-node/installation-guide)。

状态迁移入门指南

执行状态迁移

要运行状态迁移,需在Klaytn节点上使用Admin API。通过IPC连接到节点或临时激活RPC/WS上的Admin API。有关如何通过IPC或使用Admin API连接到Klaytn节点的详细信息,请参阅JSON-RPC APIs(https://docs.klaytn.com/node/endpoint-node/json-rpc-apis#querying-enabled-apis)和?Admin APIs(https://docs.klaytn.com/bapp/json-rpc/api-references/admin)。

如果启动成功,admin.startStateMigration()将返回null。状态迁移一旦启动,将会转移指定区块的状态trie,然后将其复制到新数据库中,同时不断处理新添加的区块。

启动状态迁移之时的日志

成功启动状态迁移后,日志文件中将显示以下日志:

监控状态迁移

使用日志检查状态迁移进度

在进行状态迁移时,您可以定期检查日志中的进度,如下所示:

10秒打印进度日志

通过RPC API检查状态迁移状态

您还可以通过RPC API检查状态迁移的进度。下面的结果显示,状态trie复制大约完成了64%。

验证复制的状态Trie

完成状态trie的复制之后,您的日志将显示如下。接下来,您必须验证是否完整地复制了状态trie。

验证的状态可以在日志中查看,如下所示:

验证状态日志

完成状态迁移

查看状态迁移完成日志

验证完复制的状态Tries之后,状态迁移就正式完成了。如果您看到如下所示的日志,则意味着状态迁移已经成功。

状态迁移完成日志

结果:查看区块链数据缩减量

Klaytn主网Cypress的区块链数据存储如下(截至2020年8月):

?

在启动新的EN并在这个EN上执行Cypress主网的状态迁移后,区块链数据大小缩减量如下方所示。

其他目录数据大小增加,是因为迁移过程中添加了新的区块。

状态迁移时注意事项

在状态迁移过程中,需要记住以下几点:

执行状态迁移后,由于旧的状态Trie已被删除,因此无法在过去的区块上检索帐户。

迁移仍在进行时不要重新启动节点。重启节点会使状态迁移重新开始,这会占用更多时间。

在较小的实例中执行状态迁移会消耗更多时间。

建议实例大小在m5.4xlarge以上。

首选SSD硬盘,不推荐HDD硬盘。

由于Klaytn平台上出现频繁的输入/输出(I/O)操作,满足存储IOPS要求对于提高性能至关重要。

结论

如上所述,状态迁移极大地降低了Klaytn节点存储的数据大小。但是从节点运行人员的角度来看,手动执行状态迁移可能有点过于苛刻。这又是为什么Klaytn团队计划持续提供Cypress主网最新区块链数据的原因,状态迁移已降低了这些数据的大小,这一计划将会定期执行,以优化存储使用。有了这个区块链数据,节点运行员就不必亲自执行迁移,而是直接下载并替换其节点上的数据。要下载区块链数据的最新简介,请点击以下链接:Cypress(https://packages.klaytn.net/cypress/chaindata/)、Baobab(https://packages.klaytn.net/baobab/chaindata/)。

我们希望这篇文章能够帮助您释放存储空间。Klaytn团队始终致力于为您提供便捷的Klaytn体验。感谢您的阅读,敬请期待我们的下一篇文章!

?

关于Klaytn

项目名称: Klaytn

英文缩写: KLAY

官方网站: https://www.klaytn.com/? ?

项目简介:Klaytn是以服务为中心的企业级分布式信任区块链平台,通过高效的“混合”设计,结合了公有链(分布式数据和控制、分布式治理)和私有链(低延迟、高可扩展性)的最优功能。Klaytn与全球众多知名品牌的参与合作,通过共同的不懈努力,创建可靠的去中心化业务平台。Klaytn治理委员会是一个由跨国企业和组织组成的联盟,负责运营共识节点网络,推动生态系统发展。Kakao 的区块链开发部门「Ground X」已正式推出 Klaytn,并可用于商业用途

关注微信公众号 中亿财经网,输入"资料",限时免费领取炒股、炒外汇、炒期货、炒黄金等资料,定期更新;

【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
【版权声明】本文部分内容及图片均来自于网络/注册作者/投稿人,版权归原作者所有,如有侵权,请联系删除。
热门看点
更多
热门专栏
更多
中亿财经网官方公众号
  • 咨询热线 000-000-000
  • 投稿咨询QQ:
  • 问题咨询处理QQ:
  • 增值电信业务经营许可证:晋ICP备2020015102号-1
  • 广播电视节目许可证:晋ICP备2020015102号-1
网站地图 588发发彩票网直营网 乐彩娱乐平台注册直营网 678娱乐官网直营网
申博138真人荷官 申博怎么充值 申博娱乐直营 菲律宾太阳城申博
棋牌类网页游戏 添运娱乐欢迎您登入 百家乐任我赢自动投注系统 利华彩票江苏快三
588彩票游戏直营网 678娱乐注册直营网 188彩票怎么打不开了直营网 588彩票官方网直营网
乐彩娱乐平台是真的吗直营网 668彩票网怎么登不进去直营网 188福地彩票是否合法直营网 188福地彩票合法吗直营网
XSB886.COM 200xsb.com 8CJS.COM 66sbib.com 984XTD.COM
617XTD.COM DC537.COM 888TGP.COM XSB418.COM 968psb.com
1666DZ.COM 588BBIN.COM 381sunbet.com 181ib.com S6186.COM
126jbs.com 988BBIN.COM XSB878.COM 151ib.com 800xsb.com