失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > dfuse 发布全新 EOSIO 链迁移工具

dfuse 发布全新 EOSIO 链迁移工具

时间:2020-06-25 08:14:49

相关推荐

dfuse 发布全新 EOSIO 链迁移工具

在出现新的需求时,在需要不同的治理结构或不同的资源模型时创建新的分链是 EOSIO 生态文化的一部分。这也符合多链繁荣的愿景,集思广益,一步步地向前发展。

在多链繁荣的世界中,开发者们需要有一个强大的工具,来启动、重置或重启区块链。当 EOSIO 软件打入企业中时,你可以轻松地想象这样的一个场景:一家公司会建立数十个小型数据库,其中一些是在整个公司通用的,其他是以每个部门为中心并与客户、合作伙伴或供应商共享的。有的链可能会被做成瞬息的:它会在另一个链上的固定状态下启动,突发处理数百万笔交易,然后直接废除,最终状态将回到原始链上(例如,作为两方之间的临时闪电网络)。

使用最新的 dfuse 迁移工具会简化类似的整个过程。

为什么需要用 dfuse 迁移工具

加速合约开发流程:更快地升级你的数据模型,避免链上突变的麻烦,而仍然保持其他团队成员的链状态一致。在启动新链时,同步先前存在于另一个网络上的所有帐户(想象它像是EOS 主网链扩展)。在不对用户造成使用中断的情况下,修剪链的历史数据。启动链时的确定性:仅需要指定的块高度快照以及指定脚本(如果)即可修改链状态。一个去中心化的团队可以让每个成员独立验证链的完整性,还可以通过签署交易来完成链的激活。

如何使用 dfuse 迁移工具

最新版本的dfuseeos包含了一个新命令:

$ dfuseeos migrate --snapshot=./path/to/snapshot.dat

该命令将生成一个可移植状态快照(如果你用dfuseeosnode-manager的话,它会定期为你创建),全部在磁盘上展开,易于浏览目录的结构(在./migration-data下),由.json文件、.wasm合同二进制文件及其对应的.abi文件组成。这些文件共同会共同快照生成时区块链的完整状态,而且每个帐户都有它们自己的文件夹。

然后,你可以编写个简单的脚本来清理或更改合同、更改ABI、修改数据行、修改二级索引、添加或删除帐户、更改键结构——调整任意部分的状态。这些脚本仅需要与文件系统和.json文件进行交互,所以可以用 Python、NodeJS、Haskell、C#、Go,如果您喜欢的话,甚至可以用 awk 或 sed 写。

完成后,用以下两个命令启动你的新区块链:

$ dfuseeos init

Wrote dfuse.yaml

$ dfuseeos start

Booting and injecting your new chain...

新链启动时会抓取在migrate步骤生成的bootseq.yaml文件,并注入在migration-data文件夹中找到的所有帐户、合同、数据行、索引和权限结构。帐户权限之间的所有依赖关系周期都被程序处理好了,同时它也确保了所有数据分配给正确的 RAM 付款人,等等。

就这样,一个功能完整的 EOSIO 分布式数据库就全面启动了。

非常感谢ULTRA其中一部分工作的赞助,也感谢 cc32d9 的贡献,以及社区的反馈。

你可以在/dfuse-io/dfuse-eosio找到此工具,并通过微信公众号、Telegram或Twitter与我们联系。

原文来自 dfuse.io 官网

你能在以下平台上找到 dfuse 哦!

dfuse 中文官网:dfuse.io/zh

Github 源码库:/dfuse-io

微信公众号:dfuse API(通过【社区资源】菜单加入 dfuse 开发者群)

微博:/dfuseio

Bilibili:/596090399

Telegram:t.me/dfuseAPI

Twitter:/dfuseio

YouTube:/channel/UCT_wVH42n6jv-IG8C7QsHGg

CSDN:dfuse.

币乎:/people/1460622786

如果觉得《dfuse 发布全新 EOSIO 链迁移工具》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。