企业培训资讯_企业培训干货

当前位置:首页 > 新闻中心

CKB 的交易结构:168体育

发布时间:2020-10-10    来源:168体育资讯62350

168体育资讯

【168体育平台】在本篇文章中,让我们和 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 不会以输入而非输出的形式经常出现。

168体育平台

一个被封存(Dead)的 Cell 代表它是以输出的形式在其它较早于的交易中被用于过。一个交易不能以能用的 Cell 作为输出。我们可以从除了 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 本身。

计算出来闲置容量的规范请求参照:https://github.com/nervosnetwork/ckb/wiki/Occupied-Capacity交易势必会168体育平台创立一个闲置容量大于(输出) Cell 容量的输入 Cell。occupied(cell) ≤ cell's capacity代码定位Cell 中有两个字段的类型是 Script。CKB-VM 不会运营所有输出 Cell 中的 lock 脚本,还不会运营所有输出和输入 Cell 中的 type 脚本。

168体育平台

我们区分了代码和脚本这两种术语:· 脚本具备脚本结构· 代码是 RISC-V (可运营的)二进制· 一个代码 Cell 是其数据为代码的 Cell脚本并没必要包括代码。想到下面的脚本结构。

现在我们可以忽视哈希类型的 Type 以及 args 字段。。

本文来源:168体育-www.compressorsh.com

分享到:
南宁在职研究生报名条件是什么|168体育资讯 168体育:青春无畏,逾300名大学生以创意“决战”华釜青年奖
热门文章
哪些职业或者生活习惯会引发白癜风?_168体育平台
【168体育资讯】打着挣钱幌子却深藏套路!副业“馅饼”可能是陷阱
168体育平台-大学生沉迷游戏,黑手竟然伸向了学生托管中心
168体育平台_出现白癜风症状该怎么办
168体育:开发USBType-C的注意事项及各芯片厂商的方案解读
168体育|5G通讯关键之“毫米波技术解析”
日本使用iPad开展地震避难演习-168体育
雄性激素过多可致肥胖雄性激素过多怎么办【168体育平台】
皮肤鱼鳞病表现都有哪些呢?
骨折后怎样饮食
济南一男子超市抢劫20元,称“家里事多,想进监狱静静”|168体育资讯
国庆见闻:浙江海岛“热血”民众的别样“仪式感”:168体育平台
168体育资讯|“捐多返款”也是一种慈善理念
泛发型白癜风怎么办?:168体育
168体育资讯-腰椎病为什么会越来越年轻化
客户案例
×