该项目演示了一个高级 Hardhat 用例,集成了生态系统中与 Hardhat 一起常用的其他工具。
该项目附带一个示例合约、该合约的测试、部署该合约的示例脚本以及任务实现的示例(仅列出可用帐户)。它还附带了各种其他工具,经过预先配置以与项目代码一起使用。
尝试运行以下一些任务:
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint ' **/*.{js,ts} '
npx eslint ' **/*.{js,ts} ' --fix
npx prettier ' **/*.{json,sol,md} ' --check
npx prettier ' **/*.{json,sol,md} ' --write
npx solhint ' contracts/**/*.sol '
npx solhint ' contracts/**/*.sol ' --fix
要尝试 Etherscan 验证,您首先需要将合约部署到 Etherscan 支持的以太坊网络,例如 Ropsten。
在此项目中,将 .env.example 文件复制到名为 .env 的文件中,然后对其进行编辑以填写详细信息。输入您的 Etherscan API 密钥、您的 Ropsten 节点 URL(例如来自 Alchemy)以及将发送部署交易的帐户的私钥。准备好有效的 .env 文件后,首先部署您的合约:
hardhat run --network ropsten scripts/sample-script.ts
然后,复制部署地址并将其粘贴到此命令中替换DEPLOYED_CONTRACT_ADDRESS
:
npx hardhat verify --network ropsten DEPLOYED_CONTRACT_ADDRESS " Hello, Hardhat! "
为了更快地运行测试和脚本,请考虑通过在安全帽环境中将环境变量TS_NODE_TRANSPILE_ONLY
设置为1
来跳过 ts-node 的类型检查。有关更多详细信息,请参阅文档。