CKB 脚本编程简介[1]: 验证模型
原文作者:Xuejie 本文译者:Jason,Orange
截至目前,CKB 中的 Cell 验证模型或多或少已经趋于稳定,因此我将在这里开始写一系列文章来介绍 CKB 脚本编程。我的目标是补充在阅读白皮书后编写 CKB 脚本所需的所有缺失的细节实现,这样您就可以开始探索 CKB 呈现的这个美丽的仙境。
您可能会注意到我将在CKB上运行的代码称为脚本,而不是智能合约。这是因为智能合约对我来说是一个令人困惑的术语,我在这里想用另一个词来表示 CKB 独特的可编程性。CKB 中的脚本不一定只是我们在脚本语言中看到的脚本,例如 Ruby,JS,它实际上是指在 CKB VM 上运行的 RISC-V 格式二进制文件。
这第一篇文章将专门介绍 CKB v0.14.0 中引入的全新验证模型。这可能听起来很无聊,但我保证这是最后一篇没有实际例子的帖子 :P
请注意,尽管我认为 CKB 的编程模型现在非常稳定,但目前仍然在进行开发,因此可能会有变化。我会尽力确保这篇文章更新,但如果有什么让你感到困惑的话,这篇文章现在正在描述 CKB 的这次提交。
概述
下面一张图片说明了 CKB 的真实交易过程:
这张图中有很多内容,我们将在稍后的文章中再次回到此图。今天,我们将只关注 Cell 数据结构中的 2 个实体:lock
和 type
。
pub struct CellOutput {
pub capacity: Capacity,
pub data: Bytes,
pub lock: Script,
#[serde(rename = "type")]
pub type_: Option