Transactions
如何知道交易是否有效?
我知道有幾件事需要檢查交易是否有效 - 之前的交易必須是正確的,沒有 OP 可以使交易無效等,但是是否有一個完整的列表來說明需要檢查的內容知道交易是否有效?
例如,交易是否需要具有特定的結構才能被使用,例如來自 TxIn 的腳本需要編譯為編碼消息,而 TxOut 腳本需要在該特定消息上正確執行 OP_Checksig?如果沒有,可以簡單地從 TxIn 中刪除消息,推送他們自己的惡意消息並在其上執行 OP_Checksig。
協議要求客戶端執行哪些步驟來檢查交易是否有效?
在比特幣 wiki上,有相當完整的由 Satoshi 客戶端完成的驗證檢查列表:Protocol_rules。
還有一個專門關於事務檢查的部分。
我建議使用由 BitPay 建構的bitcore 庫,它有一個執行良好的transaction.verify()函式。
您還可以嘗試使用此blockcypher 工具解碼交易十六進制,如果它正確解碼並且有效交易的所有組件都在那裡,那麼您的交易應該很好