0

现在,当使用安全帽时,我有一个不同的配置用于测试和部署。目前我正在根据我是在测试还是部署来更改文件名。这似乎不是最佳/正确的。

有谁知道我可以指定使用哪个方法?或者更好的是,一种在配置测试与部署中指定的方法?

测试配置:

require("@nomiclabs/hardhat-waffle");
/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: "0.8.0",
};

部署配置:

 * @type import('hardhat/config').HardhatUserConfig
 */
require('dotenv').config();
require("@nomiclabs/hardhat-waffle")
const {API_URL, METAMASK_PRIVATE_KEY} = process.env;
module.exports = {
  solidity: "0.8.0",
  defaultNetwork: "rinkeby",
  networks: {
    hardhat: {},
    rinkeby: {
      url: API_URL,
      accounts: [`0x${METAMASK_PRIVATE_KEY}`]
    }
  },
  paths: {
    sources: "./contracts",
    tests: "./test",
    cache: "./cache",
    artifacts: "./artifacts"
  },
};

我想我真的只想在测试时忽略“网络”字段......

4

1 回答 1

2

我意识到这些配置之间的唯一区别是网络标志,为了测试我想使用安全帽网络和部署,rinkeby。

将默认网络参数更改为:

defaultNetwork: "Hardhat"

允许我使用npx hardhat test命令在安全帽网络上运行测试。

然后部署我可以使用:

npx hardhat run --network rinkeby scripts/deploy.js
于 2021-08-16T17:19:44.943 回答