dfuse 发布全新 EOSIO 链迁移工具
在出现新的需求时,在需要不同的治理结构或不同的资源模型时创建新的分链是 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.io 官网
你能在以下平台上找到 dfuse 哦!
dfuse 中文官网:dfuse.io/zh
Github 源码库:github.com/dfuse-io
微信公众号:dfuse API(通过【社区资源】菜单加入 dfuse 开发者群)
微博:weibo.com/dfuseio
Bilibili:space.bilibili.com/596090399
Telegram:t.me/dfuseAPI
Twitter:twitter.com/dfuseio
YouTube:youtube.com/channel/UCT_wVH42n6jv-IG8C7QsHGg
CSDN:dfuse.blog.csdn.net
币乎:bihu.com/people/1460622786
dfuse 发布全新 EOSIO 链迁移工具相关推荐
- 云头条 |华为云发布全新Slogan;AWS推出DocumentDB;FRB信号刷屏
戳蓝字"CSDN云计算"关注我们哦! 嗨,大家好,头条君带来的[云头条]特别栏目,如期而至,每周二第一时间为大家带来头条新闻.把握技术风向标,了解行业应用与实践,就交给我头条君吧! ...
- 程序员被纳入新生代农民工;“腾讯视频崩了”上热搜;英特尔发布全新独立显卡品牌 Arc|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 孙胜 出品 | CSDN(ID:CSDNnews) ...
- 洲际酒店集团发布全新奢华精选品牌;凯悦27亿美元收购奢华酒店运营集团ALG | 美通社头条...
要闻摘要:洲际酒店集团发布全新奢华精选品牌.凯悦酒店集团27亿美元收购奢华酒店运营集团ALG.雀巢与沃尔玛供应链可持续发展在多领域取得重大进展.康桥资本牵头的财团收购韩国最大医美公司Hugel 46. ...
- 可口可乐发布全新品牌理念;百胜中国要开1000家Lavazza咖啡店;全球“最绿”星巴克门店开业 | 食品饮料新品...
沃尔玛.联合利华.百胜中国.麦当劳中国.可口可乐.百事公司.星巴克.SHAKE SHACK.和府"小面小酒".别样肉客.美国New Age Meats等企业最新动态. 新店开业 麦 ...
- 驱动数字经济加速,摩尔线程发布全新元计算架构MUSA和GPU产品
2022年3月30日,北京--摩尔线程今天举行主题为"元动力 创无限"的春季发布会.摩尔线程创始人兼CEO张建中解读了"元计算"这一产业趋势,并发布全新架构及系 ...
- 信息上传服务器加速cpu处理,英特尔发布全新第二代至强可扩展处理器携手浪潮加速新型应用发展...
原标题:英特尔发布全新第二代至强可扩展处理器携手浪潮加速新型应用发展 近日,英特尔发布了提供更高性能.更好的性价比选择的 全新第二代英特尔®至强可扩展处理器,通过增加核心数量.提高缓存或提升处理器频率 ...
- 英特尔发布全新CPU架构 称摩尔定律未死 中国研究院迎20周年
来源:网易智能 摘要:英特尔分别在大洋两岸,几乎同时上演了两个大秀. 在中国,研究院院长宋继强与各实验室负责人详细阐述了团队构成以及目前的四大研究领域,在彼岸,英特尔举行架构日活动,英特尔处理器核心与 ...
- 网络营销外包专员浅析网络营销外包如何防止发布的外链被删除呢?
众所周知,在网站优化推广前期,网站文章内容的更新对企业网站的优化也是很重要的,尤其是通过网站外链优化网站的情况下,外链发布后被平台删除的例子太多太多了,殊不知,外链发布也是有技巧的,那么怎样才能避免网 ...
- 重磅!阿里发布全新操作系统,这次要干翻 CentOS 了!
今日推荐 腾讯二面:@Bean 与 @Component 用在同一个类上,会怎么样?比 Xshell 还好用的 SSH 客户端神器,MobaXterm 太爱了!SpringBoot 如何统计.监控 S ...
- 谷歌io大会 android p,谷歌I/O大会发布全新电视系统 Android P让电视变的更加智能...
原标题:谷歌I/O大会发布全新电视系统 Android P让电视变的更加智能 整体来看,此次的谷歌I/O大会所推出的Android P以及各种的AI应用,不仅为开发者提供了新的思路,同时也为广大用户带 ...
最新文章
- RDKit | 化合物库的相似性分析
- Android P FAQ第一弹:非SDK管控特性
- 从1~N中任选出三个数,最小公倍数最大
- 自己动手写CPU(8)加载存储指令的实现
- idou老师教你学Istio06: 如何用istio实现流量迁移
- 猜数字游戏python程序用函数guesssecret_Python-三、函数
- 如何实现报表的批量打印需求
- 网络TCp数据的传输设计(黏包处理)
- q87主板支持cpu型号_INTEL的10代和9代的区别,型号和价格都有哪些,入手哪个性价比高...
- 使用hiredis接口(Synchronous API)编写redis客户端
- SVN的学习和使用(七)——SVN提交操作
- 公务员因微信办公被处分!如何避免微信办公导致信息泄密?
- mysql中clear怎么用_MySQL 入门篇
- word参考文献交叉引用
- 计算机备份打印机驱动程序,windows7如何快速备份打印机驱动
- 计算机网络共享自动关,启用网络发现,重新打开“高级共享设置”对话框,显示仍是关闭状态...
- SQL server查询试题
- 数据库的锁有哪几种?语句怎么实现
- 腾讯2020校园招聘-后台
- 编程猫python教学_有老师使用过编程猫进行教学吗?
热门文章
- 希尔伯特变换求包络原理
- ttl传输种过期_TTL 传输中过期2、目标主机无法访问3、请求超时4、未知主机
- 51单片机数据存储器扩展实验(汇编)
- 流水线中数据相关的理解(RAW、WAR和WAW)
- 以太坊 solidity msg对象
- 焊接机器人比传统手工焊接有哪些优势
- 拒绝精神内耗,5个适合中年人的自学网站,让你脱胎换骨
- 有关凸集的证明例题_凸集/凸函数习题
- 短信验证码平台有哪些比较好用?
- mysql1205-lock_一次 MySQL 异常的排查: 1205 Lock wait timeout exceeded; try restarting transaction...