Ethereum 当我添加一个简单的函数时,为什么要耗尽SmartContract
我有一个来自openzeppelin的Ethereum 当我添加一个简单的函数时,为什么要耗尽SmartContract,ethereum,solidity,smartcontracts,truffle,openzeppelin,Ethereum,Solidity,Smartcontracts,Truffle,Openzeppelin,我有一个来自openzeppelin的MintableToken的简单令牌 然而,当我添加一个构造函数或另一个函数时,我的气总是用光了。但是当我只添加两个函数中的一个时,无论是构造函数还是函数,一切都很好 我的问题是:如何将多个函数与构造函数一起添加到SmartContract中 令牌代码: 迁移: 2_deploy_contracts.js: var HaioToken = artifacts.require("HaioToken"); module.exports = function(d
MintableToken
的简单令牌
然而,当我添加一个构造函数或另一个函数时,我的气总是用光了。但是当我只添加两个函数中的一个时,无论是构造函数还是函数,一切都很好
我的问题是:如何将多个函数与构造函数一起添加到SmartContract中
令牌代码:
迁移:
2_deploy_contracts.js:
var HaioToken = artifacts.require("HaioToken");
module.exports = function(deployer, network, accounts) {
const hardCap = 25000000;
return deployer
.then(() => {
return deployer.deploy(HaioToken, hardCap);
})
};
当我想要部署代码时,会收到以下错误消息:
错误:处理事务时VM异常:气体不足
如果我删除构造函数或测试函数,一切正常。我猜您正在使用运行“
truffle init
”后附带的默认设置运行迁移,不是吗
您应该在truffle.js
(或Windows上的truffle config.js
)中以这种方式提高合同部署时要发送的气体:
(5000000的值是一个基本上是开箱即用的示例,如果您不必在意,因为它是在本地testnet上开发的:))
var HaioToken = artifacts.require("HaioToken");
module.exports = function(deployer, network, accounts) {
const hardCap = 25000000;
return deployer
.then(() => {
return deployer.deploy(HaioToken, hardCap);
})
};
module.exports = {
networks: {
development: {
host: "localhost",
port: 7545,
network_id: "*",
gas: 5000000
}
}
};