Gas

部署到rinkeby時無法儲存合約程式碼

  • August 3, 2018

我終於能夠獲得一些乙太幣資助和 geth/mist 工作,現在在嘗試將我的合約部署到 rinkeby 測試網路時出現以下錯誤。我的項目基於 dotta-license 項目https://github.com/cryppadotta/dotta-license但我在項目中使用標准遷移和部署腳本而不是打字稿

合約程式碼無法儲存,請檢查您的gas量。

我一直在Google搜尋,似乎問題可能是任何事情。誰能給我一些幫助來追踪這個問題?

松露.js

module.exports = {
     networks: {
   development: {
     host: 'localhost',
     port: 9545,
     network_id: '*' // Match any network id
   },
   rinkeby: {
     host: 'localhost', // Connect to geth on the specified
     port: 8545,
     from: 'xxxxxxxxxxxxxxxx', // default address to use for any transaction Truffle makes during migrations
     network_id: 4,
     gas: 4700000, // Gas limit used for deploys
     gasPrice: 30000000000 // 30 gwei
   },
 },
};

您失敗的交易正在使用 4700000/4700000 氣體,這可能表明氣體不足的情況,這得到以下支持:

  1. 合約部署不太可能使用如此完美的天然氣量
  2. geth 跟踪不包含任何指示建構子計算失敗的操作碼
  3. 合約地址處程式碼為空(0x

嘗試增加 rinkeby 網路的 gas 限制(但保持 <=7400000,否則您將超過網路塊 gas 限制)。

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