Nervos Network CKB
$0.00378 -4.50%
CKB 核心开发带你领略新工具 Capsule 的魅力
牛币圈
来自Nervos 中文社区

本周三晚 8 点,Nervos 直播间迎来第三位 CKB 核心开发者 Live Coding:蒋金洋。


jjy不仅在 CKB 的开发道路上披荆斩棘,还曾徒手实现过Ciri Ethereum(https://github.com/ciri-ethereum/ciri),有着很多的奇思妙想,写过多篇热门文章:

  1. 对 Layer 2 友好的 Layer 1 原生代币
  2. Godwoken —— Cell 模型中缺失的那一块
  3. 打破 Nervos DAO 的流动性限制
  4. 个人博客:https://justjjy.com


这一次,jjy Live Coding 首秀,会为我们带来怎样的精彩内容呢?


课前预习


Nervos 一直在持续的构建开发者工具,提升开发者体验。一个月前,Nervos 发布了三款新工具,分别是Capsule、Lumos 和 Polyjuice旨在为开发者赋能,帮助他们在 CKB 上构建更精彩的 dApp。


本次 Live Coding,蒋金洋将为大家详细介绍Capsule。另外,他还会现场 Coding,给大家展示如何用 Capsule 开发框架,在 CKB 上实现一个最简单的状态通道合约。


Capsule 简介


Capsule 提供了一个使用 Rust 编程语言来构建 CKB 脚本的解决方案。它提供了 ckb-std 库帮助 Rust 用户构建 CKB 脚本, 以及 ckb-tool 来帮助用户在无需 CKB 的环境下运行单元测试。


Capsule 的目标是管理 CKB 脚本的整个生命周期。帮助开发者开发、构建、测试、调试以及部署脚本。不久的将来,在 CKB 世界里,Capsule 的目标是能成为一个从 0 到 1,帮助用户从头构建运行在 CKB 主网上的脚本的工具。


相关链接:

  1. 一个关于抽象的故事:寻求更好的 CKB 开发工具
  2. Capsule GitHub:
  3. https://github.com/nervosnetwork/capsule


状态通道简介


状态通道(State Channel)是固定一组参与者(通常是两名参与者)之间的协议,用以实现安全的链下交易


状态通道的工作原理是,把区块链一部分的状态「锁定」到由这组参与者控制的多签智能合约中(即锁定资金),在状态「锁定」之后,通道参与者可以在链外互相发送消息以及对交易签名,而这些交易随时可以上传到链上,即提交最后交易的状态至主链。


其中典型的例子比特币支付通道(Payment Channel)。


举个例子,Alice 和 Bob 各自通过链上交易在链上锁定一定量的资金,比如 1 个 BTC,一旦锁定完成,参与者双方即可互相发送形式为 [轮次,金额,签名] 的状态更新来实现转账,无需与主链进行交互,只要双方的余额都为正值即可。


Alice 和 Bob 可以在他们的账本上记录上千笔交易。但就区块链而言,他们仅执行了两项链上操作:一项用于初始资金交易,一项用于在完成交易后重新分配余额 。除了这两个以外,所有其他事务都是免费的并且几乎是即时的,因为它们发生在链外。无需支付矿工费用,也无需等待区块确认。


而一旦参与者中有一方想要停止使用支付通道,可以执行「退出」操作:将最后的状态更新提交至主链,结算下来的余额会退给发起支付通道的两方。主链可以通过核实签名和最后结余来验证状态更新的有效性,从而防止参与者使用无效状态来退出支付通道。


除了支付之外,状态通道可以广泛应用于任意的状态转换,只要主链可以验证这些状态转换的正确性即可,例如,状态通道可以用来下五子棋,棋手可以将各自的走棋作为交易发送给对方。


由于状态通道具有即使确定性而且结构相对简单,目前比较广泛应用于支付、游戏等领域。



本次 Live Coding



完成本次 Live Coding 你将可以 Get 以下技能:

  1. Capsule 使用方法
  2. CKB 上的编程概念
  3. 了解如何在 CKB 上实现一个极简的状态通道


在 Live Coding 的最后,我们会设置 QA 环节,欢迎大家把对本期内容的疑惑提问到文章留言区或直播间评论区。


本周三(8 月 12 日)晚 8 点,Nervos 直播间,我们不见不散!


👇👇👇


2020年08月11日 10:07图文分享