Address
UTXO的地址和使用之間有什麼聯繫?
我聲明我還是個初學者。我需要澄清一下。我正在使用測試網。這是關於我用來從水龍頭接收資金的地址的資訊
bitcoin-cli validateaddress 2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd { "isvalid": true, "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd", "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387", "isscript": true, "iswitness": false } bitcoin-cli decodescript a9149ac58ff47e27214b158b38da04bc8cbf72def14387 { "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL", "reqSigs": 1, "type": "scripthash", "addresses": [ "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd" ] }
數據是什麼意思?我解釋我的地址將收到被 P2SH 類型腳本阻止的 UTXO,對嗎?“iswitness”: false 表示這個地址不能使用UTXO segWit?
在此地址上,我收到以下輸出作為輸入:
{ "value": 0.01944571, "n": 1, "scriptPubKey": { "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL", "hex": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387", "reqSigs": 1, "type": "scripthash", "addresses": [ "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd" ] }
阻塞的UTXO如下:
"txid": "a61389ff9af670770182198a984a4c1785625c60795bd57645ecc78765b23679", "vout": 1, "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd", "label": "", "redeemScript": "0014778daf651b21684b572644b47d551fce0ff71c74", "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387", "amount": 0.01944571, "confirmations": 116, "spendable": true, "solvable": true, "desc": "sh(wpkh([7de694b7/0'/0'/7']032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b))#6z7uwusp",
“Sh (wpkh ())”描述了 P2SH-P2WPKH 輸出和與之關聯的公鑰。
描述符告訴我們雜湊 (sh) 腳本包含 wpkh(見證 - 公鑰 - 密鑰 - 雜湊)輸出。簡單來說,RedeemScript 應該匹配這個公鑰的 HASH,對嗎?
當我解鎖並使用這個 UTXO 時,我的輸入將生成一個單獨的 txinwitness 欄位。
"scriptSig": { "asm": "0014778daf651b21684b572644b47d551fce0ff71c74", "hex": "160014778daf651b21684b572644b47d551fce0ff71c74" }, "txinwitness": [ "3044022034a07f088dd88396cd378912a4ed6a156701b075f0facbbae810677048c390e602205df07e13bf4d56feece791a1b5e4d94bec9c93aae14bb87a1b4c6c54ae9bf2f701", "032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b" ], "sequence": 4294967295
我無法理解我的地址資訊(“iswitness”:false)與我接收/使用 UTXO 的方式之間的聯繫。
因為您使用的地址是您提到的 P2SH-P2WPKH 地址(
sh (wpkh ())
),所以您會得到輸出“isscript”:是的,
“證人”:假
它只談論頂層(P2SH),因為它是一個 P2SH 地址,而不管它“內部”編碼的腳本是什麼。當您呼叫時,它不會“看到”底層 P2WPKH
validateaddress
。唯一一次isscript
並且iswitness
兩者都是正確的,是針對 P2WSH 地址。您可以在此處查看創建此 RPCisscript
/iswitness
輸出的程式碼。當您使用它時,您會在 P2SH 中顯示腳本。因為它是一個 P2WPKH 腳本,
OP_0 <keyhash>
也就是說,該腳本然後被評估為這樣(使用見證中的密鑰/簽名數據)。