您的位置:首页 > 业界 > 区块链 > CKB 开发工具的新成员——Mandrake

CKB 开发工具的新成员——Mandrake

2020-10-12 07:28:57 来源:Nervos 中文社区 作者:

CKB 开发工具的新成员——Mandrake,节点,事件,Mandrake,Nervos

CKB 开发工具的新成员——Mandrake

易采站长站,站长之家为您整理了CKB 开发工具的新成员——Mandrake的相关内容。

昨晚 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 总额和区块哈希,并对历史数据进行取样,绘成趋势图,可以列出存入、锁定与解锁取出的事件。

以上就是关于对CKB 开发工具的新成员——Mandrake的详细介绍。欢迎大家对CKB 开发工具的新成员——Mandrake内容提出宝贵意见

微信扫一扫

易采站长站微信账号