Solidity

在初始交易中與乙太坊創建合約時出錯

  • July 11, 2017

當我嘗試使用一些 ETH 創建合約時出現此錯誤,但如果我只是點擊創建而不發送乙太,則合約已正確部署。

在此處輸入圖像描述

您的建構子不是payable.

如果發送了 Ether 並且該函式沒有明確標記,則合約函式會拋出payable。這有助於防止乙太幣被困在沒有預料到的合約中,並且沒有提款功能可以將其取回。

由於功能MyToken(……不是payable部署本身在不需要/意​​外的乙太到達時失敗並出現異常。

你可以解決這個問題

function MyToken(...) payable {}

我看到您有一個payable備份功能,因此您可以部署聯繫人,然後將資金發送到契約地址。

乍一看,該合約似乎無法恢復發送給它的 Ether,因此一旦轉移,它就被有效地燒毀了。這確實表明,對於設計師來說,考慮 Ether 如何進出以及為什麼需要防止不需要的收據是很重要的。

希望能幫助到你。

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