hardhat使用

有时需用外网,注意一下

0.安装并创建项目

npm init
npm install --save-dev hardhat 安装 hardhat
npm install --save-dev @nomicfoundation/hardhat-toolbox 安装hardhat 工具
npx hardhat 创建hardhat项目
npm install @openzeppelin/contracts 安装开源库,用来白嫖代码

1. 部署命令

npx hardhat run --network <network> ./scripts/xxx.ts"

2. 验证

前提:
1.安装hardhat-etherscan通过 npm install
2.暗转dotenv用来读取env文件的配置项

可以使用 require("dotenv").config();来获取.env中的数据

3.hardhat配置中

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.17",
  networks: {
    goerli: {
      url: "https://eth-goerli.g.alchemy.com/v2/",
      accounts: ["<用来部署的钱包的私钥,或助记词>"],
    },
    mainnet: {
      url: "https://eth-mainnet.g.alchemy.com/v2/",
      accounts: ["<用来部署的钱包的私钥,或助记词>"],
    }

  },
  etherscan: {
    apiKey: {
		mainnet:"",//跟上面的network名字对应,自动验证
		goerli:"",//也是对应上面的network名字,会自动对齐
	}
  },
};

export default config;

验证命令:

npx hardhat verify --contract contracts/XXX.sol:<实际的contract名字>  --network goerli <部署时得到的合约地址>

note:验证的时候总是出错,各种timeout报错,多等一会再验证又能通过,可能是网络原因,也可能是etherscan官网这样设置的,还可能是区块链数据有延时,等等,不知道啥情况,反正多等几分钟,然后多试几次,总会成功

3.总结:

//编译
npx hardhat compile 
//部署
npx hardhat run --network polygonMumbai .\script\deployMyToken.js
//验证
npx hardhat verify --contract  contracts/MyToken.sol:MyToken --network polygonMumbai <addrss>
//拉平
npx hardhat flatten contracts/MyToken.sol

4. 测试

你可能感兴趣的:(solidity,hardhat,智能合约)