Dieses Projekt demonstriert einen erweiterten Hardhat-Anwendungsfall, der andere Tools integriert, die üblicherweise neben Hardhat im Ökosystem verwendet werden.
Das Projekt enthält einen Mustervertrag, einen Test für diesen Vertrag, ein Beispielskript, das diesen Vertrag bereitstellt, und ein Beispiel für eine Aufgabenimplementierung, die lediglich die verfügbaren Konten auflistet. Es enthält außerdem eine Reihe weiterer Tools, die für die Arbeit mit dem Projektcode vorkonfiguriert sind.
Versuchen Sie, einige der folgenden Aufgaben auszuführen:
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
Um die Etherscan-Verifizierung auszuprobieren, müssen Sie zunächst einen Vertrag in einem Ethereum-Netzwerk bereitstellen, das von Etherscan unterstützt wird, wie z. B. Ropsten.
Kopieren Sie in diesem Projekt die Datei .env.example in eine Datei mit dem Namen .env und bearbeiten Sie sie dann, um die Details einzugeben. Geben Sie Ihren Etherscan-API-Schlüssel, die URL Ihres Ropsten-Knotens (z. B. von Alchemy) und den privaten Schlüssel des Kontos ein, das die Bereitstellungstransaktion senden wird. Wenn eine gültige .env-Datei vorhanden ist, stellen Sie zunächst Ihren Vertrag bereit:
hardhat run --network ropsten scripts/sample-script.ts
Kopieren Sie dann die Bereitstellungsadresse und fügen Sie sie ein, um DEPLOYED_CONTRACT_ADDRESS
in diesem Befehl zu ersetzen:
npx hardhat verify --network ropsten DEPLOYED_CONTRACT_ADDRESS " Hello, Hardhat! "
Für schnellere Ausführungen Ihrer Tests und Skripte sollten Sie erwägen, die Typprüfung von ts-node zu überspringen, indem Sie die Umgebungsvariable TS_NODE_TRANSPILE_ONLY
in der Hardhat-Umgebung auf 1
setzen. Weitere Einzelheiten finden Sie in der Dokumentation.