Transactions
為什麼輸出地址是 RPC/console 中的列表?
Vout 包含一個地址列表,我注意到它總是大小 = 1,如果它存在的話。以下是來自比特幣測試網的範例:
{ "value": 0.91840581, "n": 2, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 1416b8f3a1c1c7e3e73a05046f002e66004accc3 OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a9141416b8f3a1c1c7e3e73a05046f002e66004accc388ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ "mhMB2g88n42ghQ5p1VA7Mt9VgTp9QvpDXU" ] } }
為什麼“地址”(地址)欄位是一個列表?是否有任何情況下這可能需要多個地址?那誰能花呢?
這是由於地址和密鑰之間的歷史混淆。
該欄位的最初目標是報告原始多重簽名輸出中涉及的公鑰。但是,這些公鑰是由與它們對應的 P2PKH 地址引用的。
這很令人困惑,因為顯然每個輸出只對應一個地址。由於引入了 P2SH,該功能現在也沒有用了,它不是將所有公鑰都放在輸出中,而是儲存了包含所有這些密鑰的腳本雜湊。