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

当前位置:首页 > 核心课程 > 视频音频

雅博app官网入口_CKB 的交易结构

发布时间:2020-10-07    来源:雅博app官网下载45267

【雅博app官网下载】在本篇文章中,让我们和 CKB 开发者 Ian 一起了解探究 CKB 基本的数据结构——交易。这篇文章分为两个部分。第一个部分包括了核心的交易特征,而第二部分讲解一些拓展内容。

雅博app官网下载

在编写本文时,对应的 CKB 版本是 v0.25.0,在未来的版本中交易结构还有可能有所变动。您可以页面读者原文,查阅近期版本。

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

因此在这里的 Cell 和交易输入是可以更换的。右图表明了在此层中不会经常出现的专有名词。此交易封存了 inputs 中的 Cell,同时创立了在 outputs 中的 Cell。CKB 主链将交易包成块。

我们可以在区块中利用从零(也就是创世纪区块)开始递减的非负整数(编号),作为区块编号来关联链上的区块。在区块中的交易也是按照顺序排列的。我们可以说道编号较小的区块是较早于(old)的区块,如果一个交易在较早于的区块上,或者它所在的区块的方位早于于其它区块,那么它也不会是较为早于的交易。

雅博app官网入口

在下面的示例中,区块 i 比区块 i+1 早于。交易 tx1 要比 tx2 早于,也比 tx3 早于。在所有先前的交易中,一个能用(Live)的 Cell 不会以输入而非输出的形式经常出现。

一个被封存(Dead)的 Cell 代表它是以输出的形式在其它较早于的交易中被用于过。一个交易不能以能用的 Cell 作为输出。我们可以从除了 witnesses 之外的所有交易字段计算出来交易的哈希。

关于如何计算出来交易哈希的更好信息,可以参看序言 A。交易哈希是独一无二的。因为一个 Cell 总是被一个交易创立出来,而每个新的 Cell 在交易输入的数组中都有他自己的方位,所以我们可以通过交易哈希以及输入索引去指向一个 Cell。

雅博app官网入口

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交易势必会创立一个闲置容量大于(输出) Cell 容量的输入 Cell。occupied(cell) ≤ cell's capacity代码定位Cell 中有两个字段的类型是 Script。

雅博app官网入口

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

想到下面的脚本结构。现在我们可以忽视哈希类型的 Type 以及 args 字段。:雅博app官网下载。

本文来源:雅博app官网下载-www.lipolasercharlotte.com

分享到:
雅博app官网下载-模拟人脑项目失败是怎么回事?模拟人脑项目失败具体什么情况? 雅博app官网下载|首发丨盈科资本E轮投资“独角兽”柔宇科技,投后估值近50亿美元
热门文章
雅博app官网下载-模拟人脑项目失败是怎么回事?模拟人脑项目失败具体什么情况?
雅博app官网下载|首发丨盈科资本E轮投资“独角兽”柔宇科技,投后估值近50亿美元
关于光学定位点的两三个案例
雷军:疫情影响了小米的生产 正加快小米10系列供货
雅博app官网入口:人工智能技术应用的领域主要有哪些?
【雅博app官网下载】一文读懂感染性心内膜炎的诊断与治疗
四川首批体细胞克隆地方猪诞生:雅博app官网入口
科学家“看”到艾滋病病毒如何在细胞间传播_雅博app官网入口
蟹肥虾美度假期饱餐海鲜 警惕“蒙面杀手”偷袭
雅博app官网下载|UltravioletLED紫外LED简述
【雅博app官网下载】整整两年了:特斯拉Roadster太空超跑已飞到火星之外的远日轨道
印尼禁用同性恋主题表情符号-雅博app官网下载
雅博app官网入口_CKB 的交易结构
新研究:社交媒体压力会让使用者更易上瘾_雅博app官网入口
超40次发射!北斗、探月三期收官…2020中国航天势不可挡
客户案例
×