Electrum
使用電子獲取交易的輸入地址
我正在使用 Electrum 的最新(3.2.3)命令行版本。我想通過查看歷史來找到交易的輸入。以前版本的 Electrum(我在 8 個月前使用)在其歷史輸出中有一個名為input_addresses的欄位(數組)。
目前版本沒有。
歷史的範例輸出如下所示:
$ electrum --testnet history --show_addresses | tail -40 ... { "balance": "xxx BTC", "confirmations": 1, "date": "2018-09-21 12:27", "height": 1413976, "inputs": [ { "prevout_hash": "c96274d67e095...74c1af", "prevout_n": 1 }, { "prevout_hash": "f7e443ade3f0e...fe1eb8", "prevout_n": 0 } ], "label": "", "outputs": [ { "address": "myAB...", "value": "0.49794855 BTC" }, { "address": "2N25...", "value": "5.000258 BTC" } ], "timestamp": 1537522037, "txid": "3404f9fb96...0d253c", "value": "-5.00233525 BTC" } ] }
所以我留下了一些叫做輸入的東西,其中包含一些雜湊值。我需要將這些雜湊轉換為命令行的輸入地址。
Electrum 的 GUI 版本將在雜湊右側顯示輸入地址,如下所示:
c96274d67e095...74c1af:1 mhAhgR... f7e443ade3f0e...fe1eb8:0 mhAhgR...
散列是指輸入正在消耗的前一個 tx,以及它在該 tx 中的 vout 位置。
您將需要使用電子 API 來獲取該交易的詳細資訊,並查看
outputs[vin]
鎖定腳本的值,然後通過將其編碼為 base58check/bech32 將其轉換為地址。
他們從地址中刪除了**輸入地址,因為這些在技術上是不正確的。比特幣中沒有發件人地址,因此這會誤導使用者。我相信即使在 GUI 中,它也只顯示地址屬於同一個錢包的地址。他們應該完全刪除它們。
無論您在做什麼,都需要從地址進行跟踪?我建議將不同的接收地址分發給不同的使用者,以跟踪誰向您發送了多少,而不是依賴於地址。這是使用比特幣的正確方法。