Hardhat 获取合约编译后的文件大小

Posted NFT吴彦祖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hardhat 获取合约编译后的文件大小相关的知识,希望对你有一定的参考价值。

Hardhat Contract Sizer

安装(windows环境):

yarn add --dev hardhat-contract-sizer

添加下列代码至hardhat.config.js配置文件

require('hardhat-contract-sizer');
contractSizer: 
    alphaSort: true,
    runOnCompile: true,
    disambiguatePaths: false,
  

执行:
1.

yarn run hardhat size-contracts

or
2.添加运行脚本至package.json

  "scripts": 
    "accounts": "hardhat accounts",
    "clean": "hardhat clean",
    "compile": "hardhat compile",
    "sizer": "hardhat size-contracts"
  ,

执行结果:

hardhat.config.js:

require("@nomiclabs/hardhat-etherscan");
require("@nomiclabs/hardhat-waffle");
// get contract sizer
require('hardhat-contract-sizer');

// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (taskArgs, hre) => 
  const accounts = await hre.ethers.getSigners();

  for (const account of accounts) 
    console.log(account.address);
  
);

// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more

/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = 
  solidity: 
    version: '0.8.4',
    settings: 
      optimizer: 
        enabled: true,
        runs: 200,
      ,
    ,
  ,
  contractSizer: 
    alphaSort: true,
    runOnCompile: true,
    disambiguatePaths: false,
  ,
  networks: 
    tbsc: 
      url: "https://data-seed-prebsc-1-s1.binance.org:8545/",
      accounts:
        ["private key"],
    ,
  ,
;

以上是关于Hardhat 获取合约编译后的文件大小的主要内容,如果未能解决你的问题,请参考以下文章

智能合约开发 基于Hardhat(实操)

第145篇 Hardhat 开发环境

使用hardhat 开发以太坊智能合约-发布合约

hardhat + typescript合约部署测试

解决“hardhat unresolved libraries or missing links“问题

使用hardhat将合约部署到ganache