Address
如何在隔離見證交易中從 scriptPubKey 獲取地址?
我正在處理原始交易數據,我希望能夠收集地址(在可能的情況下)。
到目前為止,我製作了這張圖來幫助我理解什麼時候可以從
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 地址格式。但是,只有在接收方和發送方軟體都支持它時才能使用它。