Go-Ethereum

通過 sendRawTransaction() 創建新合約已刪除

  • February 1, 2017

我已經使用 geth 1.5.7 設置了一個私有測試網路,並試圖通過 sendRawTransaction() 從我的 node.js 應用程序創建一個新契約。我看到創建的事務和 txpool 將其顯示為排隊,但它永遠不會移動到待處理列表,並且在處理幾個塊後默默地從排隊列表中消失。當我通過 contract.new RPC 方法創建相同的合約時,可以很好地創建它。

我很確定我正在正確地創建和簽署原始交易 - 事實上,我相信它甚至對一個帳戶有效幾次,但對另一個帳戶無效。關於如何進一步調試的任何想法?謝謝

顯而易見的事情是:

  • 檢查您是否正確設置了隨機數。如果它適用於從未發送過交易的新賬戶,但對已經交易過的賬戶失敗,則 nonce 可能是罪魁禍首。
  • 檢查 gas 價格和最大 gas 是否與您成功發送交易時相同。

至於調試,您應該能夠讓 Geth 轉儲您在其記憶體池中短暫看到的事務,因此請嘗試將其與成功通過的事務類型進行比較。

引用自:https://ethereum.stackexchange.com/questions/11822