比特币交易源代码分析.pdf

比特币交易源代码分析.pdf

ID:47997735

大小:575.84 KB

页数:44页

时间:2020-01-11

比特币交易源代码分析.pdf_第1页
比特币交易源代码分析.pdf_第2页
比特币交易源代码分析.pdf_第3页
比特币交易源代码分析.pdf_第4页
比特币交易源代码分析.pdf_第5页
资源描述:

《比特币交易源代码分析.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、比特币交易!3一、结构!3二、类型!5三、构造交易!6四、发送交易!6五、接收交易!6六、交易有效性!6密钥!8一、密钥!8二、公钥!9三、加密的公钥、私钥!9四、签名!10地址!12脚本!13一、脚本!13二、操作码!13三、构造脚本!17四、解析执行脚本!18五、校验脚本!19六、数值转换!19七、压缩版脚本!19交易内存池!21一、内存池!21二、网络接收交易信息!22三、获取节点交易内存池数据!23交易精简版!24一、结构!24二、币视图数据库!26钱包!29一、钱包数据库!29二、钱包!

2、31页码:1/44区块树数据库!44一、区块树数据库!44页码:2/44比特币交易!!!比特币的发送、接收都是通过比特币交易来实现的,发送时构造比特币交易,接收到比特币交易后处理。!!比特币交易主要包含3个方面的数据:!!1、比特币的来源,挖矿或者比特币交易。!!2、接收方的地址、数额。!!3、签名。!!比特币交易定义了6种类型,支持各种交易。!!当节点接收到比特币交易后,需要先校验交易的有效性,校验成功后再处理。!!一、结构!!系统定义了一些比特币交易相关的结构,用于交易、撤销等。!!1

3、、输出点!!系统定义了交易的输出点,包含交易输出的哈希值、交易输出数组索引。!classCOutPoint!{!public:!uint256hash;!!//交易哈希值!unsignedintn;!!//交易输出数组索引!};!!2、输入点!!系统定义了输入点,包含交易、交易输入数组索引。!classCInPoint!{!public:!constCTransaction*ptx;!!//交易!!unsignedintn;!!!!//交易输入数组索引!!};!!此结构主要用于交易的内存池中。!!

4、3、输入交易!!系统定义了交易输入,包含了上一个交易输出点的位置、公钥的签名。!classCTxIn!页码:3/44{!public:!COutPointprevout;!!!//上一个交易输出点的位置!CScriptscriptSig;!!!//公钥的签名!unsignedintnSequence;!!//序列!};!!此结构主要是为了说明用于交易的比特币的来源。!!4、输出交易!!系统定义了交易输出,包含了交易的比特币数量、公钥、以及一些标志。!classCTxOut!{!public:!

5、int64_tnValue;!!!//比特币数量!CScriptscriptPubKey;!!//公钥脚本!};!!此结构主要标明交易时发送的比特币数量、接收方的地址、标志。!!5、交易信息!!系统定义了交易信息,在网络中广播。!!交易信息可以包含多个交易输入、交易输出。!classCTransaction!{!public:!staticint64_tnMinTxFee;!!!!//最小的交易手续费!staticint64_tnMinRelayTxFee;!!!//最小的传播交易手续费!stat

6、icconstintCURRENT_VERSION=1;!!//当前版本!intnVersion;!!!!!!//版本号!std::vectorvin;!!!!//交易输入数组!!std::vectorvout;!!!!//交易输出数组!!unsignedintnLockTime;!!!!//锁定时间!};!!6、交易输出压缩器!!系统定义了交易输出压缩器,提供一个更紧凑的序列化的数据,用于后面的币(Coin)。!classCTxOutCompressor!页码:4

7、/44{!private:!CTxOut&txout;!};!!7、交易输入的撤销信息!!系统定义了交易输入的撤销信息,包含了花费之前的交易输出数据,如果交易输出是最后一本未花费的,则元数据还包含是否是coinbase、高度、交易版本号。!classCTxInUndo!{!public:!CTxOuttxout;!//thetxoutdatabeforebeingspent!boolfCoinBase;!!//iftheoutpointwasthelastunspent:whetheritbel

8、onged!!!!toacoinbase!unsignedintnHeight;!//iftheoutpointwasthelastunspent:itsheight!intnVersion;!//iftheoutpointwasthelastunspent:itsversion!};!!8、交易的撤销信息!!系统定义了交易的撤销信息。!classCTxUndo!{!public:!//undoinformationforalltxins!std::vector

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。