Contract-Development
嘗試通過 Rinkeby 上的 Remix 進行部署時,“0x0 交易已開採但執行失敗”是什麼意思?
我正在嘗試使用 Remix IDE 和 chrome 中的 MetaMask 擴展在 Rinkeby 上部署測試合約。但是,當我嘗試執行契約時,我在狀態部分收到此消息:“0x0 交易已開採但執行失敗”。
這是什麼意思,什麼可能導致這樣的問題?
我很欣賞有關如何解決此錯誤的任何想法。謝謝你。
開採失敗可能會在以下情況下發生:
- 可能是低gas,因為你的方法需要更多gas,
解決:
- 各種方式都通過交易傳遞氣體。不要使用預設氣體,您的方法可能需要更多氣體來執行該方法。
- 不要對gas進行硬編碼,因為它取決於您的輸入
estimateGas()
在執行呼叫直接方法之前使用函式。然後提供額外的 10-20% 的氣體。
- 方法是 revert 或 assert() failed 條件失敗。
- 解決:在主網上部署合約之前編寫測試案例並執行它們。
你能給我們提供交易雜湊或程式碼嗎