我正在设置我的松露配置文件,并从这样的环境变量中设置from
地址:
module.exports = {
networks: {
local: {
host: "127.0.0.1",
port: 8545,
network_id: "*",
from: process.env.OWNER,
}
}
};
然后我运行OWNER=<address> truffle migrate --network local
有没有更好的方法建议,让松露使用ganache生成的第一个地址?
答案 0 :(得分:1)
如果您在from
中省略了truffle.cfg
参数,它将自动默认为web3.eth.getAccounts
从所连接的提供商返回的第一个帐户。
如果您想对所使用的帐户进行更多动态控制,则可以使用deployer进行控制。
var SimpleContract = artifacts.require("SimpleContract");
module.exports = function(deployer, network, accounts) {
deployer.deploy(SimpleContract, { from: accounts[1] }); // Deploy contract from the 2nd account in the list
deployer.deploy(SimpleContract, { from: accounts[2] }); // Deploy the same contract again (different address) from the 3rd account.
};
当然,您不必使用传入的帐户列表,也可以从所需的任何其他数据源中提取列表。如果您要使用特定于环境的逻辑,也可以使用network
。