Transactions
bitcoind - 發送者和接收者地址
我正在使用比特幣。現在我想使用 bitcoin-cli 訪問特定帳戶的交易列表。
我正在使用該
listtransactions accountname
命令來獲取特定帳戶的交易。例子:
listtransactions karthiktest
結果:
[ { "account": "karthiktest", "address": "mnXEfvmLFWz7Exn9oGaEeTN8Ayu7Le5CCz", "category": "receive", "amount": 0.30000000, "label": "karthiktest", "vout": 1, "confirmations": 18, "blockhash": "000000009d17b7b32567f9730b50f2b7e8623ae6c9d20f84d4c414914e214283", "blockindex": 86, "blocktime": 1507963431, "txid": "c94307bef9ece4afe41384e2cd453f183aa7a438899723906e8967e624bc7d6f", "walletconflicts": [ ], "time": 1507962288, "timereceived": 1507962288, "bip125-replaceable": "no", "comment": "hello karthik", "to": "from arun" }, { "account": "karthiktest", "address": "miDMgiqduYevZMsRxX4qrY9BD5eXYFmEzg", "category": "send", "amount": -0.10000000, "label": "mahesh123", "vout": 0, "fee": -0.00000765, "confirmations": 17, "blockhash": "0000000079c79a5d21af138c80544b307d4ac764b4ed343b84752114c77fc893", "blockindex": 76, "blocktime": 1507964632, "txid": "516c64595c8b7be12419199dd81ae5edd3f4281aa3e52f88c7e3561b901bf881", "walletconflicts": [ ], "time": 1507964172, "timereceived": 1507964172, "bip125-replaceable": "no", "comment": "hello mahesh", "to": "from karthik", "abandoned": false } ]
在 JSON 中,它顯示了兩個事務
1 receive
和1 send
.現在,我的要求是:對於
receive
交易,我需要獲取發送者地址,對於send
交易,我需要獲取接收者地址(這可以使用帳戶欄位完成)。但是我很困惑通過接收交易來獲得它。誰可以幫我這個事?
比特幣沒有“發件人地址”。它有交易,花費你有權使用的代幣,並創建具有潛在不同所有者的新代幣。
將以前的硬幣所有者列為發件人是一些區塊瀏覽器網站使用的一種做法,但充其量是無趣的,最壞的情況可能會導致金錢損失:
- 並非每個腳本都有相應的地址。
- 先前的所有者不一定是發送者(例如,在具有多個使用者的服務的情況下,地址屬於服務,而不是使用者)。
- 您不能使用這些來退還硬幣(通常需要“發件人地址”的屬性),因為在共享帳戶的情況下,地址可能與服務的不同使用者相關聯。
- 廣泛部署的隱私改進技術(如 CoinJoin)會導致交易中只有一個交易輸入與您關心的發件人相關,而無法辨識哪個。
那麼什麼
listtransactions
表明你總是收到地址:
- 對於發送條目,它列出了錢被發送到的地址。
- 對於收款條目,它列出了收款地址。