在出现新的需求时,在需要不同的治理结构或不同的资源模型时创建新的分链是 EOSIO 生态文化的一部分。这也符合多链繁荣的愿景,集思广益,一步步地向前发展。 在多链繁荣的世界中,开发者们需要有一个强大的工具,来启动、重置或重启区块链。当 EOSIO 软件打入企业中时,你可以轻松地想象这样的一个场景:一家公司会建立数十个小型数据库,其中一些是在整个公司通用的,其他是以每个部门为中心并与客户、合作伙伴或供应商共享的。有的链可能会被做成瞬息的:它会在另一个链上的固定状态下启动,突发处理数百万笔交易,然后直接废除,最终状态将回到原始链上(例如,作为两方之间的临时闪电网络)。 使用最新的 dfuse 迁移工具会简化类似的整个过程。 为什么需要用 dfuse 迁移工具 加速合约开发流程:更快地升级你的数据模型,避免链上突变的麻烦,而仍然保持其他团队成员的链状态一致。在启动新链时,同步先前存在于另一个网络上的所有帐户(想象它像是EOS 主网链扩展)。在不对用户造成使用中断的情况下,修剪链的历史数据。启动链时的确定性:仅需要指定的块高度快照以及指定脚本(如果)即可修改链状态。一个去中心化的团队可以让每个成员独立验证链的完整性,还可以通过签署交易来完成链的激活。如何使用 dfuse 迁移工具 最新版本的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 写。 完成后,用以下两个命令启动你的新区块链: $ dfuseeos init Wrote dfuse.yaml $ dfuseeos start Booting and injecting your new chain... 新链启动时会抓取在migrate步骤生成的bootseq.yaml文件,并注入在migration-data文件夹中找到的所有帐户、合同、数据行、索引和权限结构。帐户权限之间的所有依赖关系周期都被程序处理好了,同时它也确保了所有数据分配给正确的 RAM 付款人,等等。 就这样,一个功能完整的 EOSIO 分布式数据库就全面启动了。 非常感谢ULTRA其中一部分工作的赞助,也感谢 cc32d9 的贡献,以及社区的反馈。 你可以在https://github.com/dfuse-io/dfuse-eosio找到此工具,并通过微信公众号、Telegram或Twitter与我们联系。 你能在以下平台上找到 dfuse 哦! dfuse 中文官网:dfuse.io/zh Github 源码库:github.com/dfuse-io 微信公众号:dfuse API(通过【社区资源】菜单加入 dfuse 开发者群) 微博:weibo.com/dfuseio Bilibili:space.bilibili.com/596090399 Telegram:****/dfuseAPI Twitter:twitter.com/dfuseio YouTube:youtube.com/channel/UCT_wVH42n6jv-IG8C7QsHGg CSDN:dfuse.blog.csdn.net 币乎:bihu.com/people/1460622786 —- 编译者/作者:dfuse 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
dfuse 发布全新 EOSIO 链迁移工具
2020-11-17 dfuse 来源:区块链网络
LOADING...
相关阅读:
- KKR去中心交易所打造多元生态迎接区块链新时代2020-11-17
- “后疫情时代”妇幼母婴国际品牌专题论坛顺利举办2020-11-17
- 薪火学院博哥11月16日教学内容浅析2020-11-17
- 奶酪银行的数百万美元黑客事件由安全公司解释2020-11-17
- 矿池在以太坊和以太坊经典中检测到严重错误2020-11-17