美文网首页
比特币源码研读第六章Transactions (1)

比特币源码研读第六章Transactions (1)

作者: blackguitar | 来源:发表于2017-12-17 13:15 被阅读0次

比特币交易是整个比特币最核心的部分,比特币要解决的就是点对点(peer-to-peer)的现金交易问题,从而实现交易的去中心化,这个也是中本聪白皮书的核心。

交易被广播到了整个网络并被包含在了区块中,一个交易可以包含多个输入和输出。为了更好的理解交易,我们可以把比特币交易看成是像流水一样的货币流,且具有如下的特点:

每个交易就相当于是一个中转节点,每个交易的输入货币和输出货币数量是相同的;也就是说,流入每个交易节点的货币流需要全部留出这个交易节点;

和bitcoin交易Transactions相关的所有关键类如下图:

其中居于核心位置的是CTransaction类:

CTransaction的代码是位于primitives文件夹中的transaction.h这个头文件中。

vector<CTxIn> vin; 

vector<CTxOut> vout;

这两个成员变量都是vector类型,分别代表着比特币交易的 “收入” 与 “支出”。

int32_t nVersion; 代表控制版本

uint32_t nLockTime; 代表转账过程中能够约定时间的能力

其中上面提到的CTxIn和CTxOut的属性和定义对货币的流动进行了控制。

对于CTxIn:

当前交易节点的前一个交易输出prevout被定义成了COutPoint属性。ScriptSig(就是“钥匙”)被定义成了CScript的属性类型。

相关文章

  • 比特币源码研读

    forest21000版 比特币源码研读之一比特币源码研读之二比特币源码研读之三比特币源码研读之四比特币源码研读之...

  • 比特币源码研读第六章Transactions (1)

    比特币交易是整个比特币最核心的部分,比特币要解决的就是点对点(peer-to-peer)的现金交易问题,从而实现交...

  • 比特币源码研读之十一

    比特币源码研读系列已经发表了十篇了,通过这十篇源码研读系列让我对比特币源码及比特币运行原理有了进一步的理解,也让我...

  • 比特币源码研读之一

    比特币源码研读之一——区块链研习社 《比特币源码研读班》 一看文件夹结构 和 github编译依赖,分析的依赖库 ...

  • 比特币源码研读之一

    作者:区块链研习比特币源码研读班 菜菜子 一、源码下载 本文比特币源码下载地址为:https://github.c...

  • 比特币源码研读(2)-main(1)

    比特币源码研读(2)-main函数(1) main函数介绍 Main函数位置:bitcoin/src/bitcoi...

  • 比特币源码研读之二

    区块链研习社比特币源码研读班今天研读第二,第三流程,SetupEnvironment和noui_connect函数...

  • 比特币源码研读(1)--私钥

    感谢在菜菜子等指导下,这是本人比特币源码研读第一篇。 私钥 私钥实际上是256位0或1组成的一串数字,范围是2的2...

  • 01:比特币源码编译|比特币源码研读

    2018年8月报名了区块链研习社的「比特币源码研读班」(5期)。首先要准备比特币源码的编译,因为对这块几乎是小白水...

  • 编译bitcoin源码

    ——区块链研习社 《比特币源码研读班》 本文基于ubuntu 16.04 64编译ok 一 下载源码(如没安装gi...

网友评论

      本文标题:比特币源码研读第六章Transactions (1)

      本文链接:https://www.haomeiwen.com/subject/dlqpixtx.html