Web3js

創建新契約時,我收到“無法儲存契約程式碼”錯誤,但仍會創建契約

  • July 3, 2017
Sale.new({ from: state.account, value: value, gas: 4000000 }).then((instance) => {
 // do something with instance
}).catch((err) => {
 alert(err)
})

當上面的程式碼執行時,我有時會收到這個錯誤:The contract code couldn't be stored, please check your gas amount.

我正在嘗試創建的契約與solidity 文件中的安全遠端支付契約幾乎完全相同,可能只是多了幾行。

奇怪的是合約實際上被創建了,我可以在 MetaMask 中看到成功的交易,並且從我的賬戶中減去了乙太幣。我什至可以Sale.at(<new contract address>)用來與創建的契約進行互動。我一直在 Ropsten 網路中進行測試。

您在這裡沒有提到的一件事是,以前這工作正常,但大約一周前它停止工作。

這讓我覺得這是 MetaMask 的一個錯誤,很抱歉我們還沒有弄清楚: https ://github.com/MetaMask/metamask-plugin/issues/1361

這感覺就像是那些非常廣泛的錯誤之一。當我添加一個函式參數而不更新我的 ABI 文件時遇到它(我將函式定義和函式保存在單獨的文件中) - 這導致函式定義與實現不一致。

希望對某人有所幫助。

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