LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 一起来认识 CKB 开发工具的新成员——Mandrake

一起来认识 CKB 开发工具的新成员——Mandrake

2020-09-29 Nervos 来源:区块链网络

昨晚 8 点,Nervos 首场「开发工具大揭秘」系列直播顺利举办,CKB 核心开发者 Ash 为大家直播了如何吃蟹????。


Oh,不。做吃播太不容易了,还是来为大家演示吃开发工具的螃蟹吧??

这次的 Tech Session,Ash 和大家介绍了 Mandrake 这个工具如何通过代码的模组化,在使用极少代码的情况下,构建一个可以查询 Nervos DAO 余额的 dApp。


什么是 Mandrake



Mandrake 是 CKB 开发工具的新成员,一个基于 Animagus 特化的 GUI 工具。可以通过图像化的形式,将 Animagus 的树根结构展现出来。他能让开发者将自己想要实现的功能设计为可视化的 AST(Abstract Syntax Tree)。

AST 树根包含 Call 节点和 Stream 节点两种节点,Call 节点可以供 App 查询 CKB 数据 ;Stream 节点可以提供订阅接口,主动向 App 发送符合条件的事件。Mandrake 支持跨平台使用,目前支持 Web,macOS 和 Windows (Alpha quality)。构建 AST 并生成 Animagus 所需的 Protocol Buffers 格式的文件,可供各种编程语言和框架使用。




Demo 实现



我们可以通过 Mandrake 来构建一些查询和事件的 AST,使用 Animagus 来为一个桌面 DAO App 提供数据。我们注意到,影响 DAO 锁定总额的事件有只有两个,一个是 deposit,一个是 phase 2 unlock(更多关于 DAO 的内容请查看:Nervos DAO 中的存入和取出)。Cell #1和 Cell #2 可以忽略 data,只用 DAO type script 条件来简化查询。


通过 Mandrake,Ash 用 Animagus 的 AST 读取 CKB 状态并为符合预定义条件的 Nervos DAO Cell 建立索引,方便用户可以在同步节点之后,索引他所有 Nervos DAO 中的 Cell,让 UTXO 结构下的各个散落的 Cell 可以像在 Account Model 中一样,便于用户做集中查询。

本次实现的 dApp Demo 在同步后可以实时显示当前锁定的 DAO 总额和区块哈希,并对历史数据进行取样,绘成趋势图,可以列出存入、锁定与解锁取出的事件。






视频回顾



那么在直播过程中,Ash 到底是如何一步一步的实现 Demo 的呢?错过直播的小伙伴,快来查看精彩的视频回顾吧。


另外,这是 Mandrake 的 Demo 版本,感兴趣的小伙伴们可以参考哦:

https://nervosnetwork.github.io/mandrake/#/



更多精彩内容,欢迎大家关注 Nervos 直播间「开发工具大揭秘」系列直播:




—-

编译者/作者:Nervos

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...