我正在使用松露部署合同,当我指定气体限制作为我想要用于交易的气体时,我总是得到超过气体限制的错误。为什么会这样?
编辑 我想要做的是将加密kitty KittyCore.sol合同部署到我的本地devnet。我正在使用松露来部署它。
从另一页How to deploy truffle contract to dev network when using inheritance?,我发现由于存在合同层次结构,我需要按顺序部署合同。我使用了这种技术,并且我能够部署7个合同中的4个,第五个,KittyAuction,给出以下错误:合同代码无法存储,请检查您的燃气量
以下是我的松露部署脚本
var KittyCore = artifacts.require("KittyCore");
var KittyMinting = artifacts.require("KittyMinting");
var KittyAuction = artifacts.require("KittyAuction");
var KittyBreeding = artifacts.require("KittyBreeding");
var KittyOwnership = artifacts.require("KittyOwnership");
var KittyBase = artifacts.require("KittyBase");
var KittyAccessControl = artifacts.require("KittyAccessControl");
var SaleClockAuction = artifacts.require("SaleClockAuction");
module.exports = function (deployer) {
deployer.deploy(KittyAccessControl).then(function () {
return deployer.deploy(KittyBase).then(function () {
return deployer.deploy(KittyOwnership).then(function () {
return deployer.deploy(KittyBreeding).then(function () {
return deployer.deploy(KittyAuction, {
gas: 400000
}).then(function () {
return deployer.deploy(KittyMinting).then(function () {
return deployer.deploy(KittyCore);
})
})
})
})
})
});
};
我的气体限制设置为18000000000.此气体编号是通过对未能部署的实际合同运行以下功能而生成的
var gasPrice;
KittyAuction.web3.eth.getGasPrice(function (error, result) {
gasPrice = Number(result);
console.log(gasPrice);
})
我一直在摆弄这个号码,似乎没什么用。
答案 0 :(得分:3)
所以我能够部署它。我做的是重置我的区块链,并将gasLimit设置为0x8000000并给每个合同带来麻烦的气体值0x7000000,并进行部署。有趣的是,它不会再次部署。我想在几个街区开采后调整了gasLimit,因为我收到了一个错误,说我超出了限制