Contract-Deployment

將智能合約部署到乙太坊網路時,開發人員可能面臨哪些錯誤(或警告)?

  • April 1, 2021

這是我在這裡的第一篇文章。我想問一下,開發人員在嘗試將他們的智能合約部署到乙太坊網路時可能會遇到哪些錯誤。

例如,它可以是“Out of gas”嗎?為什麼會這樣?您能否讓我知道或總結任何 會阻止他們將合約正確部署到網路的錯誤?

先感謝您。

部署智能合約或僅發送 tx 的一些錯誤

  • Out of gas > 當您為交易分配的所有 gas 在交易完成之前用完時,就會發生“out of gas”錯誤1。當開發人員低估了合約中使用的氣體量,或者只是忘記更改它,或者在編譯程式碼之前忘記啟用優化時,可能會發生這種情況。
  • Stack to Deep > 當程式碼需要訪問堆棧中比其第 16 個元素(從頂部向下計數)更深的插槽時,似乎會生成此錯誤2。當他們有一個帶有許多參數的大型建構子時,我們通常會收到這個錯誤。
  • 資金不足 > 當你沒有足夠的乙太幣來支付費用時。可能使用了錯誤的帳戶或網路來部署合約,或者該帳戶的所需費用金額較少
  • 我記得的其他錯誤是 -> Nonce 太低:當我手動設置 nonce 並出錯或使用錯誤網路的同一帳戶時。Wrong chainId (invalid sender or only-replay-protected-eip-155-transac) > 在簽署交易時使用了錯誤的鏈 ID
  • 一些與契約相關的錯誤,例如如果您的契約在建構子中具有未滿足的條件“要求”,或者您試圖除以 0。

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