Createrawtransaction

“操作在目前堆棧大小下無效”是什麼意思?

  • August 12, 2017

我問這個問題是為了幫助遇到我遇到的同樣問題的其他人。該錯誤至少有時具有誤導性,並且可能不准確。

與此錯誤相關的上下文是簽署您使用比特幣軟體創建的原始交易。對於像我這樣偏執的人來說,這是一種常見的做法。這是基本程序:

  1. 確定您想要花費的 TxOuts(txid 和 vout 對)。
  2. 使用<https://chainquery.com/bitcoin-api/createrawtransaction>或類似的東西來創建一個十六進製字元串。
  3. 使用<https://chainquery.com/bitcoin-api/signrawtransaction>以及花費那些未使用的 TxOuts 所需的私鑰。

在第三步中,您可能會收到“目前堆棧大小的操作無效”錯誤。

signrawtransactionRPC 會在簽名後驗證交易的輸入腳本。如果交易尚未完全簽署(即未完成),則腳本驗證將失敗並產生此錯誤。

多重簽名交易也會發生這種情況。當您沒有足夠的簽名時,腳本將無法驗證您看到的錯誤。

另見:https ://github.com/bitcoin/bitcoin/issues/9988

我遇到了同樣的問題,我試圖用錯誤的 Vout(1 而不是 0)創建原始交易

bitcoin-cli  createrawtransaction "[{\"txid\": \"cd32cc233298662131dab1c2f5fa7b0407879b51bfaa7e26afa4abf453951b09\", \"vout\": 1}]" "{\"data\":\"68656c6c6f20776f726c64\",\"mpCALgNebBXBJByCG7W5XPXe2NvuQCD8au\":1.10000000}"

所以通過修復 vout 我已經完美地簽署了

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