比特币原始交易模板中如何区分找零交易和实际交易?
How to differentiate change transaction from actual transaction in bitcoin raw transaction template?
我正在尝试创建自己的区块链显示,但遇到理解问题。我在 bitcoin.conf 中使用 txindex=1 来访问有关交易的非钱包信息,但是当我解码原始交易时,我无法区分零钱和交易金额。
这里是来自测试网的随机示例(有变化):
"txid" : "979e9c84a9ce7e18e38b883eaba4078cd21e26ef5d13eba15aebeb355d42f5d5",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "593b3c92ca20a789fadbfe563139c3cc89824e05557c68e247418b13ddd6e5ed",
"vout" : 1,
"scriptSig" : {
"asm" : "304402202b6be66d4a4ac12ea93f678cb66903ba266c8f74bfccd0c01cd6ad2225d180d002200f9daf5c7a96cbddaa74d9fc449bec7a5f9ed6d61091d35148adad72e930214e01 04280cf692411203d1e133789692f7121735dabe290a5e626d6d16c6aa9b44950628ae448dcdf9e0f19fd3859df8f3a1cb947b2be5091a93edbe37bb4c99b160c5",
"hex" : "47304402202b6be66d4a4ac12ea93f678cb66903ba266c8f74bfccd0c01cd6ad2225d180d002200f9daf5c7a96cbddaa74d9fc449bec7a5f9ed6d61091d35148adad72e930214e014104280cf692411203d1e133789692f7121735dabe290a5e626d6d16c6aa9b44950628ae448dcdf9e0f19fd3859df8f3a1cb947b2be5091a93edbe37bb4c99b160c5"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 40.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 f35a10d09c9a09bbce7aacdd0888c151866affcf OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914f35a10d09c9a09bbce7aacdd0888c151866affcf88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n3hgPYQArNYj8fkxW369qT16k7i3r9oSrQ"
]
}
},
{
"value" : 9.89980000,
"n" : 1,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 f5dbc72c2b7170e51469b8b46700567d1e2eee5e OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914f5dbc72c2b7170e51469b8b46700567d1e2eee5e88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n3vw8VmfuEwWuVsD9KoWiNzCX7EsrjRVr7"
]
}
}
]
有没有一种简单的方法可以找出哪个是 "good"? 40 比特币还是 9.9 比特币?我试图递归显示 "vin" 事务 ID 以查找更多信息,但从未找到帮助我的线索。可能是我遗漏了什么。
这个问题好像没有很好的答案,我在stackexchange上找了一个重复的:https://bitcoin.stackexchange.com/questions/28182/how-to-find-the-change-sender-address-given-a-txid
tl;dr:任何你想猜测哪个 public 地址是发件人的东西's/receiver'(基于输入和输出的数量)都将停留在猜测中,因为比特币核心想要保护这些信息。
我正在尝试创建自己的区块链显示,但遇到理解问题。我在 bitcoin.conf 中使用 txindex=1 来访问有关交易的非钱包信息,但是当我解码原始交易时,我无法区分零钱和交易金额。
这里是来自测试网的随机示例(有变化):
"txid" : "979e9c84a9ce7e18e38b883eaba4078cd21e26ef5d13eba15aebeb355d42f5d5",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "593b3c92ca20a789fadbfe563139c3cc89824e05557c68e247418b13ddd6e5ed",
"vout" : 1,
"scriptSig" : {
"asm" : "304402202b6be66d4a4ac12ea93f678cb66903ba266c8f74bfccd0c01cd6ad2225d180d002200f9daf5c7a96cbddaa74d9fc449bec7a5f9ed6d61091d35148adad72e930214e01 04280cf692411203d1e133789692f7121735dabe290a5e626d6d16c6aa9b44950628ae448dcdf9e0f19fd3859df8f3a1cb947b2be5091a93edbe37bb4c99b160c5",
"hex" : "47304402202b6be66d4a4ac12ea93f678cb66903ba266c8f74bfccd0c01cd6ad2225d180d002200f9daf5c7a96cbddaa74d9fc449bec7a5f9ed6d61091d35148adad72e930214e014104280cf692411203d1e133789692f7121735dabe290a5e626d6d16c6aa9b44950628ae448dcdf9e0f19fd3859df8f3a1cb947b2be5091a93edbe37bb4c99b160c5"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 40.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 f35a10d09c9a09bbce7aacdd0888c151866affcf OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914f35a10d09c9a09bbce7aacdd0888c151866affcf88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n3hgPYQArNYj8fkxW369qT16k7i3r9oSrQ"
]
}
},
{
"value" : 9.89980000,
"n" : 1,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 f5dbc72c2b7170e51469b8b46700567d1e2eee5e OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914f5dbc72c2b7170e51469b8b46700567d1e2eee5e88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n3vw8VmfuEwWuVsD9KoWiNzCX7EsrjRVr7"
]
}
}
]
有没有一种简单的方法可以找出哪个是 "good"? 40 比特币还是 9.9 比特币?我试图递归显示 "vin" 事务 ID 以查找更多信息,但从未找到帮助我的线索。可能是我遗漏了什么。
这个问题好像没有很好的答案,我在stackexchange上找了一个重复的:https://bitcoin.stackexchange.com/questions/28182/how-to-find-the-change-sender-address-given-a-txid
tl;dr:任何你想猜测哪个 public 地址是发件人的东西's/receiver'(基于输入和输出的数量)都将停留在猜测中,因为比特币核心想要保护这些信息。