P2sh
P2SH 交易簽名
我正在嘗試兌換 2of2 p2sh 未使用的輸出。我有完整的多重簽名兌換腳本、一個輸入和一個 p2pkh 輸出。
我的理解是,我應該用未散列的兌換腳本替換該單個輸入的 ScriptPubKey,最後用 SigHashAll 序列化 Tx,並使用每個所需的公鑰對其進行簽名。
這應該會產生一個帶有 OP_0 [Sig][Sig][RedeemScript] 簽名 ScriptPub 的輸入。但是,這無法產生有效的簽名。我在兌換腳本中使用壓縮密鑰。
每個 Sig 的形式為 OP_PUSHDATA/Size+1[DER encode Signature]
交易需要序列化和簽名的方式還有什麼特別之處嗎?我應該只使用未壓縮的密鑰嗎?
我解決了這個問題,redeemscript 沒有以 pushdata 為前綴,這在整個腳本被推送時是必需的。