Gas
部署到rinkeby時無法儲存合約程式碼
我終於能夠獲得一些乙太幣資助和 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 氣體,這可能表明氣體不足的情況,這得到以下支持:
- 合約部署不太可能使用如此完美的天然氣量
- geth 跟踪不包含任何指示建構子計算失敗的操作碼
- 合約地址處程式碼為空(
0x
)嘗試增加 rinkeby 網路的 gas 限制(但保持 <=7400000,否則您將超過網路塊 gas 限制)。