我试图通过RPC理解比特币核心的比特币事务提取,示例如下:00000000d14f2e97678951ad004d6699babd27e07ca722c46b30dc24c67eed7a
{“method”:“getblock”,“params”:[“00000000d14f2e97678951ad004d6699babd27e07ca722c46b30dc24c67eed7a”,2],“jsonrpc”:“2.0”}
来自getblock的json块
{
‘哈希’:’00000000d14f2e97678951ad004d6699babd27e07ca722c46b30dc24c67eed7a’,
“确认”:677712,
“strippedsize”:489,
“大小”:489,
“重量”:1956年,
“高度”:728,
“版本”:1,
‘versionHex’:’00000001’,
‘merkleroot’:’1f7fd770697c167ca75e3d742f3b1b81244165e0fee87310cd20b15f6975b961’,
“发送”:[{
“txid”:“5fe6030e8a649b3b3fb257303e89a06d6526226e24118b494f9ccbba06e96254”,
‘哈希’:’5fe6030e8a649b3b3fb257303e89a06d6556226e24118b494f9ccbba06e96254’,
“版本”:1,
“大小”:134,
“vsize”:134,
“重量”:536,
“锁定时间”:0,
“vin”:[{
‘coinbase’:’04ffff001d0164’,
“序列”:4294967295
}],
“vout”:[{
“值”:50.0,
“n”:0,
“scriptPubKey”:{
“asm”:“04fa4b30422c7820c4ef979eaa39f770b32dcddc433cfd4d3040d3f2dc337e445dfd80fd4a3afbabe11e861fe30a28c5acc0f59915d9e419ffecd8ce374d46ddf5操作检查信号”,
“十六进制”:“4104FA4B3042C7820C4EF979EAA39F770B32DCDC433CFD4D3040D3F2DC337E445DFD80FD4A3AFBABE11E861FE30A28C5ACC0F59915D9E419FFECD8CE374D46DDF5AC”,
‘type’:’pubkey’
}
}],
‘十六进制’:’0100000000000000000000000000000000000000000000000000000000000000000000000FFFFFF0704FFFF001D0164FFFFFFFF0100F2052A0100004344104FA4B3042C7820C4EF979EAA39F770B32DC433CFD4D304D3F2DC337E445DFD80FD4A3AFBABE11E861FE30A28C5ACC0F59915D9FFEC374D46DDF5AC00000000’
}, {
‘txid’:’6f7cf9580f1c2dfb3c4d5d043cdbb128c640e3f20161245aa7372e9666168516’,
‘哈希’:’6f7cf9580f1c2dfb3c4d5d043cdbb128c640e3f20161245aa7372e9666168516’,
“版本”:1,
“大小”:274,
“vsize”:274,
“重量”:1096,
“锁定时间”:0,
“vin”:[{
“txid”:“ff3dc8b461305acc5900d31602f2dafebfc406e5b050b14a352294f0965e0bf6”,
“vout”:0,
“脚本签名”:{
“asm”:“3046022100e26d9ff76a07d68369e5782be3f8532d25ecc8add58ee256da6c50b52e8006b022100b4431f5a9a4dcb51cbdcae935218c0ae4cfc8aa903fe4e5bac208290b7d5d[全部],
‘十六进制’:’493046022100E26D9FF76A07D68369E5782BE3F8532D25ECC8ADD58EE256DA6C550B52E8006B022100B4431F5A9A4DCB51CBDCAEE935218C0AE4CFC8AA903FE4E5BAC208290B7D5D01’
},
“序列”:4294967295
}, {
‘txid’:’2db69558056d0132d9848851fd20329be9cd590fa5ae2b3c55f58931f42e27f7’,
“vout”:0,
“脚本签名”:{
“asm”:“3046022100a2ab7cdc5b67aca032899ea1b262f6e8181060f5a34ee667a82dac9c7b7db4c3022100911bc945c4b435df8227466433e56899fbb65833e4853683ecaa12ee840d16bf[全部],
‘十六进制’:’493046022100A2AB7CDC5B67ACA03289EA1B262F6E8181060F5A34EE667A82DAC9C7B4B3022100911BC945C4B435DF8227466433E5689FBB65833E485368ECAA12E840D16BF01’
},
“序列”:4294967295
}],
“vout”:[{
“值”:100.0,
“n”:0,
“scriptPubKey”:{
‘asm’:’OP_DUP OP_HASH160 12ab8dc588ca9d5787dde7eb29569da63c3a238c OP_EQUALVERIFY OP_CHECKSIG’,
“十六进制”:“76a91412ab8dc588ca9d5787dde7eb29569da63c3a238c88ac”,
“reqSigs”:1,
‘type’:’pubkeyhash’,
‘地址’:[’12higDjoCCNXSA95xZMWUdPvXNmkAduhWv’]
}
}],
“十六进制”:’0100000002F60B5E96F09422354AB150B0E506C4BFFEDAF20216D30059CC5A3061B4C83DFF000000004A493046022100E26D9FF76A07D68369E5782BE3F8532D25ECC8ADD58EE256DA6C550B528006B02100B4431F5A9A4DCB51CBCAAE935218C0AE4CFC8AA903FE4E5BAC4208290B7D5D01FFFFFFFF72EF43189F5553C2BAEA50F59CDE99B320FD518884D932016D055895B62D000000004A493046022100A2AB7CDC67ACA03299EA1B262F6E8181060F5A34EE667A82DAC9C7B7DB4C3022100911BC945C4B435DF8227466433E5689FBB65833E485368ECAA12E840D16BF01FFFFFFF0100E40B54020000001976A91412AB8DC588CA9D5787DDE7EB29569DA63C338C88AC00000000′
}],
“时间”:1232133515,
“中间时间”:1232128717,
“nonce”:95106676,
‘bits’:’1d00ffff’,
“难度”:1,
‘链工程’:’00000000000000000000000000002D902D902D9’,
“nTx”:2,
“previousblockhash”:“00000000 1C7EB6AB129CF14659AEA1F77F6E116EA8DA2193182B08EAE6ECF5F7”,
‘nextblockhash’:’00000000 CE8F753A6DF03FFBA3ED05DB6CF79013E79B7D20C87E0E88B7672FBF’
}
在“tx”中,我可以看到块中存储了多个事务,它们之间有什么区别,我认为“vin”是用于传入事务的,但它们为什么没有相似的体系结构?
汉克斯
“vin”:[{
‘coinbase’:’04ffff001d0164’,
“序列”:4294967295
}],
#不类似于
“vin”:[{
“txid”:“ff3dc8b461305acc5900d31602f2dafebfc406e5b050b14a352294f0965e0bf6”,
“vout”:0,
“脚本签名”:{
“asm”:“3046022100e26d9ff76a07d68369e5782be3f8532d25ecc8add58ee256da6c50b52e8006b022100b4431f5a9a4dcb51cbdcae935218c0ae4cfc8aa903fe4e5bac208290b7d5d[全部],
‘十六进制’:’493046022100E26D9FF76A07D68369E5782BE3F8532D25ECC8ADD58EE256DA6C550B52E8006B022100B4431F5A9A4DCB51CBDCAEE935218C0AE4CFC8AA903FE4E5BAC208290B7D5D01’
},
“序列”:4294967295
}, {
‘txid’:’2db69558056d0132d9848851fd20329be9cd590fa5ae2b3c55f58931f42e27f7’,
“vout”:0,
“脚本签名”:{
“asm”:“3046022100a2ab7cdc5b67aca032899ea1b262f6e8181060f5a34ee667a82dac9c7b7db4c3022100911bc945c4b435df8227466433e56899fbb65833e4853683ecaa12ee840d16bf[全部],
‘十六进制’:’493046022100A2AB7CDC5B67ACA03289EA1B262F6E8181060F5A34EE667A82DAC9C7B4B3022100911BC945C4B435DF8227466433E5689FBB65833E485368ECAA12E840D16BF01’
},
“序列”:4294967295
}],
你有没有一个链接可以帮助我理解一个原始区块交易的每个标题(我没有找到)
vin代表入资,vout代表出资?对的?
谢谢
比特币核心
回答
0
“vin”是特定事务的输入数组。
“vout”是一个特定事务的输出数组。
如果你不熟悉:当你接收比特币到一个地址时,你的地址数据(简单地说就是保存它)实际上被放入一个“输出”中。这些尚未使用的输出称为未使用的事务输出,简称UTXO。
您的钱包余额是与您的钱包相关的所有UTXOs值的总和。
当您创建一个事务并将比特币发送给其他人甚至您自己时,您正在使用这些UTXO,而使用这些输出所需的数据将被放入相应的输入中。
例如,在该块中,使用txid的事务:6f7cf9580f1c2dfb3c4d5d043cdbb128c640e3f20161245aa7372e9666168516
让我们看看“vin”数组中的第一个输入:
“vin”:[{
“txid”:“ff3dc8b461305acc5900d31602f2dafebfc406e5b050b14a352294f0965e0bf6”,
“vout”:0,
“脚本签名”:{
“asm”:“3046022100e26d9ff76a07d68369e5782be3f8532d25ecc8add58ee256da6c50b52e8006b022100b4431f5a9a4dcb51cbdcae935218c0ae4cfc8aa903fe4e5bac208290b7d5d[全部],
‘十六进制’:’493046022100E26D9FF76A07D68369E5782BE3F8532D25ECC8ADD58EE256DA6C550B52E8006B022100B4431F5A9A4DCB51CBDCAEE935218C0AE4CFC8AA903FE4E5BAC208290B7D5D01’
},
“序列”:4294967295
}
它从事务ff3dc8b461305acc5900d31602f2dafebfc406e5b050b14a352294f0965e0bf6的输出0支出,并在scriptSig中使用所需的签名数据来验证它们是否可以支出此UTXO。在进行此事务时,输出是P2PK,因此scriptSig中没有公钥。现在最常见的输出是P2PKH,因此scriptSig中会附加一个公钥。
至于第一个没有类似“vin”的事务:那就是coinbase事务。没有UTXO可供消费,因为新硬币是作为coinbase奖励(采矿奖励)的一部分在这个交易中产生的,所以没有你通常会看到的签名,就像在第二个交易中一样。
分享
改进这个答案
跟随
4月10日8:14回答
波克斯特
7755青铜徽章
添加评论