配置来自地址的松露菌的最佳方法

时间:2018-11-06 05:23:27

标签: solidity smartcontracts truffle

我正在设置我的松露配置文件,并从这样的环境变量中设置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生成的第一个地址?

1 个答案:

答案 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