Address

如何在隔離見證交易中從 scriptPubKey 獲取地址?

  • September 24, 2018

我正在處理原始交易數據,我希望能夠收集地址(在可能的情況下)。

到目前為止,我製作了這張圖來幫助我理解什麼時候可以從scriptPubKey每個輸出中找出地址:

在此處輸入圖像描述

但是,如您所見,我不確定如何從P2WSH中計算出地址。

是否可以單獨獲取地址scriptPubKey,或者我只能在使用輸出時顯示見證人時獲取地址?(如此處所示):

witness:      0 <signature1> <1 <pubkey1> <pubkey2> 2 CHECKMULTISIG>
scriptSig:    (empty)
scriptPubKey: 0 <32-byte-hash>
             (0x0020{32-byte-hash})

**編輯:**另外,如果您注意到我在此圖中的任何模式匹配不正確(或者如果我遺漏了任何允許我找到更多地址的模式),請告訴我。

目前沒有見證輸出的本地地址格式,因此 P2WPKH 和 P2WSH 的答案很簡單:你不能,也不應該。如果將 P2WPKH 輸出中的 20 字節雜湊轉換為 1xxxxxx,並顯示結果,人們可能會認為這是一個可以發送更多錢的地址。但是,這將導致 P2PKH 輸出,純 segwit 錢包可能無法理解。

但是,大多數 segwit 輸出最初將使用 P2SH 包裝器(導致 P2SH-P2WPKH 或 P2SH-P2WSH 程序),它們看起來(並且行為類似於)P2SH 地址。

在https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki中提出了一種新的原生 segwit 地址格式。但是,只有在接收方和發送方軟體都支持它時才能使用它。

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