Solidity
在初始交易中與乙太坊創建合約時出錯
當我嘗試使用一些 ETH 創建合約時出現此錯誤,但如果我只是點擊創建而不發送乙太,則合約已正確部署。
您的建構子不是
payable
.如果發送了 Ether 並且該函式沒有明確標記,則合約函式會拋出
payable
。這有助於防止乙太幣被困在沒有預料到的合約中,並且沒有提款功能可以將其取回。由於功能
MyToken(
……不是payable
部署本身在不需要/意外的乙太到達時失敗並出現異常。你可以解決這個問題
function MyToken(...) payable {}
我看到您有一個
payable
備份功能,因此您可以部署聯繫人,然後將資金發送到契約地址。乍一看,該合約似乎無法恢復發送給它的 Ether,因此一旦轉移,它就被有效地燒毀了。這確實表明,對於設計師來說,考慮 Ether 如何進出以及為什麼需要防止不需要的收據是很重要的。
希望能幫助到你。