Voraussetzungen
- Node.js 16+
- Vertrautheit mit Ethereum-Entwicklung
- Eine Wallet mit Testnet-Tokens (siehe Testnet-Chain-Details)
Vertragsvorbereitung
Der folgende Beispielvertrag wird in diesem Leitfaden verwendet:
Mit Foundry deployen
Foundry ist ein schnelles, Rust-basiertes Toolkit für die Ethereum-Entwicklung.
-
Foundry installieren:
Sie müssen ggf. Ihre
.bashrc- oder .zshrc-Datei sourcen.
-
Ein neues Foundry-Projekt einrichten:
-
foundry.toml mit Plasma-Testnet-Einstellungen aktualisieren:
-
Eine
.env-Datei im Projekt-Root erstellen:
-
Die Umgebungsvariablen laden:
-
Den Vertragscode als
src/SimpleStorage.sol speichern und dann deployen:
Foundry gibt den Hash der Deployment-Transaktion und die Vertragsadresse aus:
-
Testen Sie Ihren deployten Vertrag mit Foundrys cast-Tool. Lesen Sie zunächst die gespeicherten Daten:
-
Aktualisieren Sie dann die Daten und lesen Sie sie erneut:
Das sollte etwa Folgendes ausgeben:
Mit Hardhat deployen
Hardhat ist ein voll ausgestattetes Entwicklungs-Framework mit umfangreichem Plugin-Support.
- Stellen Sie sicher, dass Sie Folgendes haben:
- Node.js 20+ (erforderlich für moderne Hardhat-Kompatibilität)
- Vertrautheit mit Ethereum-Entwicklung
- Eine Wallet mit Testnet-Tokens (siehe Testnet-Chain-Details)
Node.js 18 und älter werden von Hardhat nicht mehr unterstützt und können ES-Modul-Kompatibilitätsprobleme verursachen.
-
Node.js-Version überprüfen:
Wenn Sie Node.js 18 oder älter verwenden, aktualisieren Sie auf Node.js 20+:
-
Ein neues Hardhat-Projekt initialisieren:
Wenn Sie auf Kompatibilitätsprobleme stoßen, prüfen Sie die Hardhat-Dokumentation auf die neuesten unterstützten Versionen.
Wählen Sie Create a JavaScript project, wenn Sie dazu aufgefordert werden.
-
hardhat.config.js aktualisieren:
-
Eine
.env-Datei im Projekt-Root erstellen:
-
Scripts-Verzeichnis und Deployment-Skript erstellen:
-
scripts/deploy.js erstellen:
-
Den Vertragscode als
contracts/SimpleStorage.sol speichern und dann deployen:
-
Sie sind fertig!
Mit Ethers.js deployen
Ethers.js bietet einen minimalen, programmatischen Deployment-Flow.
-
Ein neues Projekt erstellen:
-
Eine
.env-Datei im Projekt-Root erstellen:
-
compile.js erstellen, um Ihren Solidity-Vertrag zu kompilieren:
-
Ihren Vertrag als
SimpleStorage.sol speichern und dann kompilieren:
Das sollte Folgendes ausgeben:
-
deploy.js erstellen:
-
Das Deployment-Skript ausführen:
Das sollte etwa Folgendes ausgeben:
Deployment überprüfen
Nach dem Deployment mit einer der obigen Methoden verifizieren Sie Ihre Vertrags-Bereitstellung.
Fehlerbehebung
ES-Modul-Kompatibilitätsprobleme
Wenn Sie auf Fehler wie Error [ERR_REQUIRE_ESM]: require() of ES Module stoßen, bedeutet das normalerweise:
-
Node.js-Version ist zu alt: Aktualisieren Sie auf Node.js 20+, wie in den Voraussetzungen erwähnt
-
Versionsabweichung bei Abhängigkeiten: Wenn ein Upgrade von Node.js nicht möglich ist, können Sie die problematische Abhängigkeit downgraden:
Node.js-Versionswarnungen
Wenn Sie Warnungen über nicht unterstützte Node.js-Versionen sehen:
Aktualisieren Sie auf Node.js 20+ gemäß den Schritten im Abschnitt Voraussetzungen.
Unzureichende Mittel
Stellen Sie sicher, dass Ihre Wallet genügend Testnet-Tokens hat. Besuchen Sie einen Testnet-Faucet.
Falsche Netzwerkkonfiguration
Überprüfen Sie, ob Ihre Netzwerkkonfiguration mit den Testnet-Chain-Details übereinstimmt.
Gas-Schätzungsfehler
Setzen Sie explizite Gas-Limits in Ihrer Deployment-Konfiguration: