Este projeto demonstra um caso de uso avançado do Hardhat, integrando outras ferramentas comumente usadas junto com o Hardhat no ecossistema.
O projeto vem com um exemplo de contrato, um teste para esse contrato, um exemplo de script que implanta esse contrato e um exemplo de implementação de tarefa, que simplesmente lista as contas disponíveis. Ele também vem com uma variedade de outras ferramentas, pré-configuradas para funcionar com o código do projeto.
Tente executar algumas das seguintes tarefas:
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
Para experimentar a verificação Etherscan, primeiro você precisa implantar um contrato em uma rede Ethereum compatível com Etherscan, como Ropsten.
Neste projeto, copie o arquivo .env.example para um arquivo chamado .env e edite-o para preencher os detalhes. Insira sua chave API Etherscan, o URL do nó Ropsten (por exemplo, do Alchemy) e a chave privada da conta que enviará a transação de implantação. Com um arquivo .env válido, primeiro implante seu contrato:
hardhat run --network ropsten scripts/sample-script.ts
Em seguida, copie o endereço de implantação e cole-o para substituir DEPLOYED_CONTRACT_ADDRESS
neste comando:
npx hardhat verify --network ropsten DEPLOYED_CONTRACT_ADDRESS " Hello, Hardhat! "
Para execuções mais rápidas de seus testes e scripts, considere ignorar a verificação de tipo do ts-node definindo a variável de ambiente TS_NODE_TRANSPILE_ONLY
como 1
no ambiente do capacete. Para mais detalhes consulte a documentação.