我无法获得使用恩弗拉、MetaMask和特弗莱成功部署的合同。
当我运行truffle migrate --network live时,会得到以下错误:
Error encountered, bailing. Network state unknown. Review successful transactions manually. insufficient funds for gas * price + value
但是,如果我运行truffle migrate --network live --dry-run,就会得到以下输出:
sender doesn't have enough funds to send tx. The upfront cost is: 672197500000000000 and the sender's account only has: 60000000000000000
假设这个价值在魏,为什么要花这么多钱来部署一个合同呢?我能做些什么?
这是我的truffle.js文件:
var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "my_mnemonic";
module.exports = {
networks: {
live: {
network_id: 1,
provider: new HDWalletProvider(mnemonic, "https://mainnet.infura.io/my_api_key")
}
}
};发布于 2018-02-24 19:15:58
您可以使用remix.ethereum.org测试您的合同和计算气体使用量。对我来说,它在部署时使用了2米左右的气体。
您没有在配置中指定气体限制,它将使用default (大约为670万个gas)。你可以尝试在你的truffle.js中降低它。
var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "my_mnemonic";
module.exports = {
networks: {
live: {
network_id: 1,
provider: new HDWalletProvider(mnemonic, "https://mainnet.infura.io/my_api_key"),
gas: "4000000", // 4M
gasPrice: "20000000000" // 20gwei
}
}
};https://ethereum.stackexchange.com/questions/40810
复制相似问题