linux bitcoind环境搭建,bitcoin_book_2nd

检查并解码交易

命令: getrawtransaction, decoderawtransaction

在 [cup_of_coffee] 的案例中, Alice从Bob’s Cafe购买了一杯咖啡。她的交易ID (txid)为+0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2+。让我们使用API,通过交易ID来检索和查看这笔交易:

$ bitcoin-cli getrawtransaction 0627052b6f28912f2703066a912ea577f2ce4da4caa5a↵

5fbd8a57286c345c2f2

0100000001186f9f998a5aa6f048e51dd8419a14d8a0f1a8a2836dd734d2804fe65fa35779000↵

000008b483045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4↵

ae24cb02204b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e3813014↵

10484ecc0d46f1918b30928fa0e4ed99f16a0fb4fde0735e7ade8416ab9fe423cc54123363767↵

89d172787ec3457eee41c04f4938de5cc17b4a10fa336a8d752adfffffffff0260e3160000000↵

0001976a914ab68025513c3dbd2f7b92a94e0581f5d50f654e788acd0ef8000000000001976a9↵

147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a888ac00000000

Tip

在交易确认之前,交易ID不是可信的。区块链中没有交易的哈希值并不意味着交易未处理。这被称为“交易可锻性(transaction malleability)”,因为在区块中确认之前,交易的哈希可以被修改。确认后,txid 是不可变的和可信的。

getrawtransaction 命令以十六进制返回一个序列化的交易。将它作为 decoderawtransaction 命令的参数可以解码:

$ bitcoin-cli decoderawtransaction 0100000001186f9f998a5aa6f048e51dd8419a14d8↵

a0f1a8a2836dd734d2804fe65fa35779000000008b483045022100884d142d86652a3f47ba474↵

6ec719bbfbd040a570b1deccbb6498c75c4ae24cb02204b9f039ff08df09cbe9f6addac960298↵

cad530a863ea8f53982c09db8f6e381301410484ecc0d46f1918b30928fa0e4ed99f16a0fb4fd↵

e0735e7ade8416ab9fe423cc5412336376789d172787ec3457eee41c04f4938de5cc17b4a10fa↵

336a8d752adfffffffff0260e31600000000001976a914ab68025513c3dbd2f7b92a94e0581f5↵

d50f654e788acd0ef8000000000001976a9147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8↵

88ac00000000

{

"txid": "0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2",

"size": 258,

"version": 1,

"locktime": 0,

"vin": [

{

"txid": "7957a35fe64f80d234d76d83a2...8149a41d81de548f0a65a8a999f6f18",

"vout": 0,

"scriptSig": {

"asm":"3045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1decc...",

"hex":"483045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1de..."

},

"sequence": 4294967295

}

],

"vout": [

{

"value": 0.01500000,

"n": 0,

"scriptPubKey": {

"asm": "OP_DUP OP_HASH160 ab68...5f654e7 OP_EQUALVERIFY OP_CHECKSIG",

"hex": "76a914ab68025513c3dbd2f7b92a94e0581f5d50f654e788ac",

"reqSigs": 1,

"type": "pubkeyhash",

"addresses": [

"1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA"

]

}

},

{

"value": 0.08450000,

"n": 1,

"scriptPubKey": {

"asm": "OP_DUP OP_HASH160 7f9b1a...025a8 OP_EQUALVERIFY OP_CHECKSIG",

"hex": "76a9147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a888ac",

"reqSigs": 1,

"type": "pubkeyhash",

"addresses": [

"1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK"

]

}

}

]

}

解码后的交易展示了此交易的所有组成部分,包括交易的输入和输出。我们看到将15mBitcoin转到新地址的交易使用了一个输入并产生了两个输出。此交易的输入是以前确认的交易的输出(vin中的 txid ,以 7957a35fe 开头 )。两个输出对应于15mBitcoin的款项,和返回给发送者的零钱。

我们可以通过使用 getrawtransaction 检查此交易中引用的前一个交易的 txid 来进一步探索区块链。我们可以追踪一笔比特币在不同所有者地址之间传递的交易链。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值