Rust 合约[1]:使用 Rust 写 CKB 合约
Jinyang Jiang
Nervos Core Team据我所知,目前在 CKB 上部署合约最流行的方式是用 C 代码。在创世块中有 3 个默认的合约 secp256k1 lock
、secp256k1 multisig lock
、Deposited DAO
,基本上每个使用 CKB 的人都在使用这些合约。
作为一个 Rust 语言爱好者,我们都想在任何场景下使用 Rust。有个好消息,CKB 虚拟机支持 RISC-V 指令集,最近在 Rust 中也增加对 RISC-V 的支持,这意味着我们可以直接将 Rust 代码编译成 RISC-V。然而,坏消息是 RISC-V 目前还不支持 std 库,这意味着你还不能像日常那样去使用 Rust。
本系列文章将向你展示了如何用 Rust 编写 CKB 合约并部署它。我们会发现,no_std
Rust 其实比我们一开始想的要好很多。
Open Tx 协议头脑风暴[1]: OTX 概述
Cipher Wang
Nervos Core TeamCKB 脚本编程简介[5]: 调试
Xuejie Xiao
Nervos Core Team因为事实上 CKB 脚本工作的层级要比其他智能合约低很多,因此 CKB 的调试过程就显得相当神秘。在本文中,我们将展示如何调试 CKB 脚本。你可以发现,其实调试 CKB 脚本和你日常调试程序并没有太大区别。
CKB 脚本编程简介[4]: CKB 上实现 WebAssembly
Xuejie Xiao
Nervos Core Team自从我们选择使用 RISC-V 构建 CKB VM(Virtual Machine 虚拟机)以来,我们几乎每一天都会被问及这样一个问题:为什么不像别人那样在 WebAssembly 上构建你的虚拟机呢?
CKB 脚本编程简介[3]: 自定义代币
Xuejie Xiao
Nervos Core TeamCKB 的 cell 模型和 VM 支持许多新的用例。然而,这并不意味着我们需要抛弃现有的。如今区块链中的一个常见用途是 token 发行者发布具有特殊目的/意义的新 token 。在以太坊中,我们称之为 ERC20 token ,让我们看看我们如何在 CKB 中构建类似的概念。为了与 ERC20 区分,在 CKB 中的 token 我们称之为 user defined token
,简称UDT。
CKB 脚本编程简介[2]: 脚本基础
Xuejie Xiao
Nervos Core Team上一篇我们介绍了当前 CKB 的验证模型。这一篇会更加有趣一点,我们要向大家展示如何将脚本代码真正部署到 CKB 网络上去。我希望在你看完本文后,你可以有能力自行去探索 CKB 的世界并按照你自己的意愿去编写新的脚本代码。
CKB 脚本编程简介[1]: 验证模型
Xuejie Xiao
Nervos Core Team截至目前,CKB 中的 Cell 验证模型或多或少已经趋于稳定,因此我将在这里开始写一系列文章来介绍 CKB 脚本编程。我的目标是补充在阅读白皮书后编写 CKB 脚本所需的所有缺失的细节实现,这样你就可以开始探索 CKB 呈现的这个美丽的仙境。