Electrum

使用電子獲取交易的輸入地址

  • July 9, 2020

我正在使用 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 中,它也只顯示地址屬於同一個錢包的地址。他們應該完全刪除它們。

無論您在做什麼,都需要從地址進行跟踪?我建議將不同的接收地址分發給不同的使用者,以跟踪誰向您發送了多少,而不是依賴於地址。這是使用比特幣的正確方法。

引用自:https://bitcoin.stackexchange.com/questions/79459