开云体育app下载手机版
Mou Mou Jidian Generator
发电机维修 发电机回收
发电机出售 发电机租赁
客户统一服务热线

0750-797359329
18826473491

您的位置: 主页 > 新闻中心 > 行业新闻 >

CKB 的交易结构

本文摘要:在本篇文章中,让我们和 CKB 开发者 Ian 一起了解探究 CKB 基本的数据结构——交易。这篇文章分为两个部分。 第一个部分包括了核心的交易特征,而第二部分讲解一些拓展内容。在编写本文时,对应的 CKB 版本是 v0.25.0,在未来的版本中交易结构还有可能有所变动。 您可以页面读者原文,查阅近期版本。右图是关于交易结构的概览。 大同小异逐字逐句的说明各个名词,我将不会讲解 CKB 账户需要获取的各种类似结构,以及这些名词在其中的明确意思。

开云体育app下载手机版

在本篇文章中,让我们和 CKB 开发者 Ian 一起了解探究 CKB 基本的数据结构——交易。这篇文章分为两个部分。

第一个部分包括了核心的交易特征,而第二部分讲解一些拓展内容。在编写本文时,对应的 CKB 版本是 v0.25.0,在未来的版本中交易结构还有可能有所变动。

您可以页面读者原文,查阅近期版本。右图是关于交易结构的概览。

大同小异逐字逐句的说明各个名词,我将不会讲解 CKB 账户需要获取的各种类似结构,以及这些名词在其中的明确意思。Part I:核心特征价值储存CKB 使用的是 UTXO 模型。一笔交易封存了一些在先前交易下创立的输入(作为输出),并且创立一些新的输入,我们在 CKB 中将此交易输入称作一个 Cell。因此在这里的 Cell 和交易输入是可以更换的。

右图表明了在此层中不会经常出现的专有名词。此交易封存了 inputs 中的 Cell,同时创立了在 outputs 中的 Cell。

CKB 主链将交易包成块。我们可以在区块中利用从零(也就是创世纪区块)开始递减的非负整数(编号),作为区块编号来关联链上的区块。在区块中的交易也是按照顺序排列的。

我们可以说道编号较小的区块是较早于(old)的区块,如果一个交易在较早于的区块上,或者它所在的区块的方位早于于其它区块,那么它也不会是较为早于的交易。在下面的示例中,区块 i 比区块 i+1 早于。

交易 tx1 要比 tx2 早于,也比 tx3 早于。在所有先前的交易中,一个能用(Live)的 Cell 不会以输入而非输出的形式经常出现。一个被封存(Dead)的 Cell 代表它是以输出的形式在其它较早于的交易中被用于过。一个交易不能以能用的 Cell 作为输出。

开云体育app下载安装

我们可以从除了 witnesses 之外的所有交易字段计算出来交易的哈希。关于如何计算出来交易哈希的更好信息,可以参看序言 A。

交易哈希是独一无二的。因为一个 Cell 总是被一个交易创立出来,而每个新的 Cell 在交易输入的数组中都有他自己的方位,所以我们可以通过交易哈希以及输入索引去指向一个 Cell。OutPoint 结构是一种提到类型。

交易在输出时会用于 OutPoint 来指向先前被创立的 Cell,而非映射其中。Cell 将 CKB 代币存储在字段 capacity 中。一个交易不需要凭空铸 capacity,所以交易终将合乎以下规则:sum(cell's capacity for each cell in inputs)≥ sum(cell's capacity for each cell in outputs)在输出中每个 Cell 容量的总和要小于相等在输入中每个 Cell 容量的总和。矿工可以缴纳这两者之间的价差当作手续费。

fee = sum(cell's capacity for each cell in inputs)- sum(cell's capacity for each cell in outputs)如果你熟知比特币,那么就不会找到在价值储存层都是相近的,但是比特币缺少瞄准脚本来维护交易输入的所有权。CKB 正好有这个特征,但是在我们探究这个话题之前,让我们再行来谈谈 Cell Data 和 Code Locating 层吧,这是任何 CKB 中脚本特征的依据。Cell Data除了需要存储价值通证以外,CKB Cell 还能储存给定数据。

字段 outputs_data 是输入的分段数组。在 outputs 中第 i 个 Cell 的数据对应的是 outputs_data 中的第 i 项。

Cell 中的 capacity 不只代表通证的数量,也代表需要存储数据的容许。这也是它如此命名的原因,因为它代表 Cell 的存储容量。capacity 不仅能用作存储数据,它还必须涵括 Cell 中的所有字段,还包括 data、 lock、type 以及 capacity 本身。

开云体育app下载安装

计算出来闲置容量的规范请求参照:https://github.com/nervosnetwork/ckb/wiki/Occupied-Capacity交易势必会创立一个闲置容量大于(输出) Cell 容量的输入 Cell。occupied(cell) ≤ cell's capacity代码定位Cell 中有两个字段的类型是 Script。

CKB-VM 不会运营所有输出 Cell 中的 lock 脚本,还不会运营所有输出和输入 Cell 中的 type 脚本。我们区分了代码和脚本这两种术语:· 脚本具备脚本结构· 代码是 RISC-V (可运营的)二进制· 一个代码 Cell 是其数据为代码的 Cell脚本并没必要包括代码。

想到下面的脚本结构。现在我们可以忽视哈希类型的 Type 以及 args 字段。


本文关键词:CKB,的,交易,结构,在,本篇,文章,中,开云体育app下载手机版,让,我们,和

本文来源:开云体育app下载手机版-voteyun.com

Copyright © 2006-2022 www.voteyun.com. 开云体育app下载手机版科技 版权所有  ICP备案:ICP备23406431号-3