Skip to main content

hardhat.config.ts

多个 Solidity 版本支持

Hardhat 支持使用不同的、不兼容的 solc 版本的项目。例如,如果您有一个项目,其中一些文件使用 Solidity 0.5 而其他文件使用 0.6,您可以将 Hardhat 配置为使用与这些文件兼容的编译器版本、

solidity: {
compilers: [
{
version: "0.8.3",
settings: {
optimizer: {
enabled: true,
runs: 180,
},
},
},
{
version: "0.5.3",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
],
},

编译优化(可以指定具体文件进行优化)

  • optimizer
    • enabled: 是否开启优化
    • runs: 执行多少次优化,数值越小,编译出的合约文件越小,执行时 gasFee 优化越小;数值越大,编译出的 bytecode 越大。一般设置为 200 左右
solidity: {
compilers: [ {version: '0.6.12'} ],
overrides: {
"contracts/sales/AvalaunchSale.sol": {
version: '0.6.12',
settings: {
optimizer: {
enabled: true,
runs: 185
},
},
},
"contracts/sales/SalesFactory.sol": {
version: '0.6.12',
settings: {
optimizer: {
enabled: true,
runs: 999999
},
},
},
},
settings: {
optimizer: {
enabled: true, // 是否启动优化
runs: 200 // 指要进行多少次优化。数值越小,编译出的bytecode越小,gasFee执行中的gasFee优化越小
},
},
},