Transactions

64: non-mandatory-script-verify-flag 廣播帶有特定輸入的 P2WPKH Bech32

  • April 27, 2018

注意:這發生在特定的輸入上,即使我對其他輸入使用了相同的程式碼並且它可以工作。

我使用以下未花費創建了一個原始交易:

Array
(
   [0] => Array
       (
           [txid] => 108544730bfaeccca0de66eda8546a33403899fb508bee582f1d9e1628ec0695
           [vout] => 1
           [scriptPubKey] => 0014194eef88d8428a4af66177779d0844d66d743e5d
           [amount] => 0.000560
           [address] => tb1qr98wlzxcg29y4anpwame6zzy6ekhg0jadfmrgr
           [redeemScript] => 
       ) // this i'm not able to spend.

   [1] => Array
       (
           [txid] => 5bda1b65ff7cb3c80f09f797debb2bf1749d22332e984ba6377a0c7cac30aed9
           [vout] => 0
           [scriptPubKey] => 00141f09edebd56ffadd0c1834d048c8a416d5418f68
           [amount] => 0.100000
           [address] => tb1qruy7m674dlad6rqcxngy3j9yzm25rrmgm9x3d5
           [redeemScript] => 
       )

)

<https://testnet.blockchain.info/tx/108544730bfaeccca0de66eda8546a33403899fb508bee582f1d9e1628ec0695>

創建事務十六進制:

02000000029506ec28169e1d2f58ee8b50fb993840336a54a8ed66dea0ccecfa0b734485100100000000ffffffffd9ae30ac7c0c7a37a64b982e33229d74f12bbbde97f7090fc8b37cff651bda5b0000000000ffffffff02404b4c0000000000160014943a52d24537d96360fb533fdc7183a92963f9c7e8c54c0000000000160014f41ddffe9582cdf5841b332f8f3751f8c1514dd300000000

SignrawTransaction 響應:

Array
(
   [hex] =&gt; 020000000001029506ec28169e1d2f58ee8b50fb993840336a54a8ed66dea0ccecfa0b734485100100000000ffffffffd9ae30ac7c0c7a37a64b982e33229d74f12bbbde97f7090fc8b37cff651bda5b0000000000ffffffff02404b4c0000000000160014943a52d24537d96360fb533fdc7183a92963f9c7e8c54c0000000000160014f41ddffe9582cdf5841b332f8f3751f8c1514dd302473044022042cb0cd01181cb2ec915bd5d981dbb197d2febb8acfbeae3c653747c8cf2b4b8022001e4ee55c7daa7197b4cd0948f4fb49b7660ecedb96e08e2220422e6485a0591012102b4592cc61c94b91c866ea6201885ce41f0f9cbc4a762c614799dfb854b6e18d50247304402204b475a5a61184aa46d1db9e22797c3084d409fffe608ceedaf3b6af7e2a9c2a002206404b55c0ba8b902d4bd48db115dd7d10befdc3cab57fdb42e2631e31c35070801210387844ba61f400e181004900f1ec59a3b310e4afd9a22d51cc8bc1a6631c057f500000000
   [complete] =&gt; 1
)

Sendrawtrasnaction 響應:64: non-mandatory-script-verify-flag (Signature must be zero for failed CHECK(MULTI)SIG operation)

首先,這些不是 P2SH-P2WPKH,這些是正常的 P2WPKH 輸出。它們根本與 P2SH 無關。

這裡的問題可能是金額不正確。如果您自己提供先前的輸出數據,則金額不正確。您將其設為 0.000560,但實際金額為 0.00055999。由於 Segwit 承諾簽名中的金額,因此金額錯誤意味著signrawtransaction創建的簽名將無效,從而導致此錯誤。

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