golang 实现比特币内核:transaction 结构中输入和输出两部分的一些说明

输入和输出是交易中的主要组件,我们需要一些努力从原始数据中提取信息。

输入的原始数据包含四个组件:

前一个交易ID,这是32字节的数据,采用小端格式,是前一个交易的哈希256值。例如,如果公司支付你10美元,这笔支付就是前一个交易。你用这10美元买了一杯3美元的咖啡,那么买咖啡就是当前交易,前一个交易ID就是公司支付你10美元的交易的哈希256结果。

前一个交易的索引。公司可能会两次支付你一次工资(10美元),一次奖金(20美元),那么你会有两个输入用于当前交易。前一个交易ID让你选择使用哪笔支付来支付当前的咖啡。

ScriptSig,该字段的作用就像你在支票上签字或在刷信用卡时输入密码。它用于验证你是这笔交易中输入资金的真实所有者。你不希望别人偷走你的钱来为自己消费。该字段是一个可变长度的数据块,它与比特币的智能合约语言有关,我们将在后续部分深入讨论。

序列号,该字段已被弃用,我们为了省脑细胞忽略它。

让我们查看输入的原始数据并提取这些字段,以下是交易的原始数据,数据中的{ 和 }部分是输入的相关数据:

0100000001{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值