#Environment variables
You can use certain environment variables to configure Hardhat's behavior.
# Setting parameters with environment variables
Every global flag or parameter accepted by Hardhat can also be specified using an environment variable. For example, to select the network you normally do:
npx hardhat --network localhost run scripts/deploy.js
But you can get the same behavior by setting the HARDHAT_NETWORK
environment variable:
HARDHAT_NETWORK=localhost npx hardhat run scripts/deploy.js
In general, each flag or parameter of the form --some-option
can be set using the HARDHAT_SOME_OPTION
environment variable. For flags, which don't accept values, you can enable or disable them by setting them to true
or false
:
HARDHAT_VERBOSE=true npx hardhat run scripts/deploy.js
Options specified with the --some-option
form have precedence over environment variables. That is, if you run:
HARDHAT_NETWORK=mainnet npx hardhat run --network localhost scripts/deploy.js
then the localhost
network is going to be used.
# Other environment variables
Besides the environment variables that correspond to global parameters, there are some special environment variables that affect how Hardhat works. Variables starting with HARDHAT_EXPERIMENTAL_
are experimental and could be removed in future versions.
HARDHAT_DISABLE_TELEMETRY_PROMPT
: if set totrue
, Hardhat won't prompt the user asking for telemetry consent. This prompt is already not shown in CIs or when the output is not a TTY, but in some cases (like automated scripts that write to stdout) you might want to set this variable.HARDHAT_EXPERIMENTAL_ALLOW_NON_LOCAL_INSTALLATION
: if set totrue
, Hardhat won't check if thehardhat
package is locally installed.