- A+
在这个拥有许多链的世界中,拥有强大的工具来启动、重置或重启链变得至关重要。当EOSIO进入企业时,您可以轻松地想象一家公司正在拆分数十个小型数据库,其中一些是整个公司范围内的,其他是以部门为中心的,并且有些与客户、合作伙伴或供应商共享。其他的链可能是短暂的,从一个约定的状态开始,放在另一个链上,以便在突发事件中处理数百万笔交易,然后将其拆除,最终状态将回到原始链上(可以将其想象为两方之间的临时闪电网络)。
使用新的dfuse迁移工具,所有这些都将变得更加容易。
好处
● 加快合约开发流程:无需痛苦的链上突变即可更快地发展数据模型,同时保持所有状态不变,让其他团队成员感到满意。
● 引导新的链,尊重之前存在于另一个网络上的所有帐户(请考虑使用EOS主网链扩展)。
● 在不干扰用户的情况下,整理长期运行的链的历史。
● 确定性引导:仅需要约定的快照块高度以及您的脚本即可修改状态(如果有的话)。然后分散的组可以独立地验证新链完整性,并可能签署交易以激活新链。
它是怎么运作的
最新版本的dfuseeos包含一个新命令:
$ dfuseeos migrate --snapshot=./path/to/snapshot.dat
该命令将拍摄一个可移植状态快照(如果使用dfuseeos的node-manager会定期为您创建),将其全部放置在磁盘上,在一个易于浏览的目录结构下(在./migration-data下),由.json文件、wasm合约二进制文件及其对应的.abi文件组成。这些文件共同代表快照时区块链的完整状态,每个帐户都位于其自己的文件夹中。
然后,您可以编写简单的脚本来清理、更改合约,更改ABI,修改数据行,修改二级索引,添加或删除帐户,更改键结构——调整状态的任何部分。这些脚本仅需要与文件系统和.json文件进行交互,因此可以使用Python,NodeJS,Haskell,C#,Go,甚至awk或sed编写,如果您愿意的话。
完成后,另外两个命令将引导您的新链:
启一个功能齐全的EOSIO分布式数据库——这就是所有你需要做的
。
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫