-
bitcoin $77323.969542 USD
0.01% -
ethereum $2523.414850 USD
2.23% -
tether $0.999674 USD
0.01% -
bnb $732.334794 USD
2.37% -
xrp $1.364311 USD
0.51% -
usd-coin $0.999831 USD
0.00% -
solana $101.751035 USD
1.88% -
tron $0.339246 USD
0.15% -
hyperliquid $78.911101 USD
-1.42% -
zcash $1143.169120 USD
2.95% -
dogecoin $0.084522 USD
0.58% -
monero $539.820025 USD
5.75% -
chainlink $11.538258 USD
0.03% -
unus-sed-leo $9.111763 USD
0.28% -
cardano $0.208079 USD
-0.46%
Wie testen Sie Ihren Soliditätsvertrag mit Hardhat?
Hardhat enables robust smart contract development with local testing, forking, debugging tools like console.log in Solidity, gas reporting, and precise event/time manipulation.
Jan 20, 2026 at 12:20 pm
Einrichten der Hardhat-Umgebung
1. Installieren Sie Node.js und npm, um die Kompatibilität mit der Toolchain von Hardhat sicherzustellen.
2. Führen Sie npm init -y aus, um ein neues Node.js-Projekt zu initialisieren.
3. Führen Sie npm install --save-dev hardhat aus, um Hardhat als Entwicklungsabhängigkeit hinzuzufügen.
4. Starten Sie den Hardhat-Setup-Assistenten mit npx hardhat und wählen Sie „Erstellen Sie eine leere hardhat.config.js“.
5. Erstellen Sie ein Verzeichnis „contracts/“ und platzieren Sie Ihre Solidity-Quelldatei – z. B. Token.sol – darin.
Testskripte in JavaScript oder TypeScript schreiben
1. Erstellen Sie einen test/ -Ordner und fügen Sie eine Testdatei wie Token.test.js hinzu.
2. Importieren Sie die Testdienstprogramme von Hardhat: const {expect} = require('@nomicfoundation/hardhat-chai-matchers');
3. Verwenden Sie die Blöcke write() und it(), um Testfälle logisch zu strukturieren.
4. Stellen Sie Verträge innerhalb von Tests überawait ethers.deployContract('Token') bereit, anstatt die Bytecodes manuell zu verarbeiten.
5. Interagieren Sie mit Vertragsmethoden mithilfe von „await token.transfer(address, amount)“ und bestätigen Sie Ergebnisse mit Chai-Matchern.
Ausführen von Tests in einem lokalen gegabelten Netzwerk
1. Konfigurieren Sie einen Fork in hardhat.config.js , indem Sie mithilfe seiner RPC-URL ein Netzwerk wie Ethereum Mainnet oder Sepolia angeben.
2. Starten Sie Hardhat Network mit aktiviertem Forking: npx hardhat node --fork https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY .
3. Schreiben Sie Tests, die mit bereitgestellten Mainnet-Verträgen – wie Uniswap V3-Pools – interagieren, indem Sie deren ABI abrufen und über ethers.getContractAt() an sie anhängen.
4. Simulieren Sie reale Bedingungen, einschließlich Gaspreisschwankungen und Manipulation von Blockzeitstempeln, mithilfe der integrierten Helfer von Hardhat Network.
5. Validieren Sie berechtigte Zugriffsmuster, indem Sie EOA-Adressen imitieren, die von Explorern wie Etherscan mithilfe von „await network.provider.request({ method: 'hardhat_impersonateAccount', params: [address] })“ abgerufen wurden.
Verwenden der integrierten Tools von Hardhat zum Debuggen
1. Fügen Sie console.log()- Anweisungen direkt in den Solidity-Code ein und kompilieren Sie sie mit aktiviertem Konsolenprotokoll-Plugin.
2. Führen Sie npx hardhat test --no-compile aus, um die Neukompilierung zu überspringen, wenn sich nur die Testlogik ändert.
3. Verwenden Sie hardhat-tracer , um EVM-Opcodes auf niedriger Ebene zu überprüfen, die während jeder Transaktion ausgeführt werden.
4. Nutzen Sie den Hardhat-Gas-Reporter , um den Gasverbrauch über Funktionsaufrufe hinweg zu messen und Ineffizienzen zu erkennen.
5. Aktivieren Sie Stack-Traces für zurückgesetzte Transaktionen, indem Sie throwOnTransactionFailures: true im Mocha-Abschnitt der Hardhat-Konfiguration festlegen.
Häufig gestellte Fragen
F: Kann ich von meinem Vertrag ausgegebene Ereignisse mit Hardhat testen? A: Ja. Verwenden Sie „await Expect(tx).to.emit(contract, 'Transfer').withArgs(owner, Receiver, amount), um Ereignisparameter zu überprüfen.
F: Wie teste ich Wiedereintrittsschwachstellen? A: Setzen Sie im Rahmen des Tests einen böswilligen Angreifervertrag ein, lösen Sie anfällige Funktionen aus und stellen Sie Gleichgewichtsinkonsistenzen oder Zustandsbeschädigungen fest.
F: Ist es möglich, zeitabhängige Logik wie Vesting-Pläne zu testen? A: Ja. Verwenden Sie „await network.provider.send('evm_increaseTime', [seconds])“ gefolgt von „await network.provider.send(‘evm_mine‘)“, um Blöcke voranzutreiben.
F: Was passiert, wenn mein Vertrag AccessControl von OpenZeppelin nutzt? A: Weisen Sie Rollen innerhalb von Tests zu, indem Sie „await accessControl.grantRole(ROLE_HASH, address)“ verwenden, bevor Sie eingeschränkte Funktionen aufrufen.
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
PENDLE Jetzt handeln$2.19
9.67%
-
PYTH Jetzt handeln$0.05504
8.39%
-
CRO Jetzt handeln$0.06016
6.92%
-
UNI Jetzt handeln$6.34
5.99%
-
PUMP Jetzt handeln$0.003804
5.91%
-
STX Jetzt handeln$0.2660
5.30%
- Der Umlauf von Ripple RLUSD erreicht 2,4 Milliarden US-Dollar: Ein genauerer Blick auf die Entwicklung des Stablecoins
- 2026-09-13 04:50:01
- XRP-Millionärstraum: Können 10.000 XRP Sie in 20 Jahren reich machen?
- 2026-09-13 04:50:01
- Reform der Krypto-Finanzierung in Großbritannien: Ein tiefer Einblick in die 72-Millionen-Pfund-Spende und ihre Auswirkungen
- 2026-09-13 04:45:01
- Teucrium Inverse XRP ETF legt Datum des Inkrafttretens auf den 11. Oktober fest: Was Anleger über das Startdatum des ETF wissen müssen
- 2026-09-13 04:45:01
- CPEN Network Ink Token: Ein tiefer Einblick in Mobile Mining, Tokenomics und sein sich entwickelndes Erbe
- 2026-09-12 16:35:02
- XRP-Investoren stehen angesichts der Marktunsicherheit und wichtiger wirtschaftlicher Ereignisse vor einer kritischen Entscheidung
- 2026-09-12 16:40:01
Verwandtes Wissen
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie liest man das ETHUSDT-Futures-Chart auf Binance?
Sep 13,2026 at 05:20am
Bitcoin Halbierungsmechanik 1. Alle 210.000 Blöcke wird die Blockbelohnung für Bitcoin Miner halbiert. 2. Dieses Ereignis tritt etwa alle vier Jahre a...
Wie kann ich die Finanzierungsgebühr für BTC-Futures auf Binance überprüfen?
Sep 10,2026 at 08:00am
Auffinden der Anzeige der Förderrate 1. Navigieren Sie zur Handelsoberfläche von Binance Futures und wählen Sie den unbefristeten BTCUSDT-Kontrakt aus...
Wie berechnet man den Gewinn und Verlust von SOLUSDT-Futures?
Sep 10,2026 at 07:19pm
Verstehen der SOLUSDT-Futures-Kontraktspezifikationen 1. Jeder SOLUSDT-Futures-Kontrakt wird in USDT notiert und in USDT abgerechnet, was ihn zu einem...
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie liest man das ETHUSDT-Futures-Chart auf Binance?
Sep 13,2026 at 05:20am
Bitcoin Halbierungsmechanik 1. Alle 210.000 Blöcke wird die Blockbelohnung für Bitcoin Miner halbiert. 2. Dieses Ereignis tritt etwa alle vier Jahre a...
Wie kann ich die Finanzierungsgebühr für BTC-Futures auf Binance überprüfen?
Sep 10,2026 at 08:00am
Auffinden der Anzeige der Förderrate 1. Navigieren Sie zur Handelsoberfläche von Binance Futures und wählen Sie den unbefristeten BTCUSDT-Kontrakt aus...
Wie berechnet man den Gewinn und Verlust von SOLUSDT-Futures?
Sep 10,2026 at 07:19pm
Verstehen der SOLUSDT-Futures-Kontraktspezifikationen 1. Jeder SOLUSDT-Futures-Kontrakt wird in USDT notiert und in USDT abgerechnet, was ihn zu einem...
Alle Artikel ansehen














