Zum Hauptinhalt springen

🏗️ Der Anfänger-Guide für größere Projekte

Wenn Sie mit der Entwicklung von Solidity-Smart-Contracts beginnen, werden Sie wahrscheinlich mit einem einzigen Contract-File anfangen. Das ist völlig in Ordnung! Aber wenn Ihre Projekte wachsen, werden Sie feststellen, dass Sie mehr Struktur benötigen.

📁 Projektstruktur

Eine typische Projektstruktur könnte so aussehen:

mein-projekt/
├── contracts/
│ ├── interfaces/
│ │ └── IMyContract.sol
│ ├── libraries/
│ │ └── MyLibrary.sol
│ └── MyContract.sol
├── scripts/
│ └── deploy.ts
└── test/
└── MyContract.test.ts

Verzeichnisse und ihre Bedeutung

  • contracts/: Hier befinden sich Ihre Solidity-Verträge
    • interfaces/: Enthält Vertrag-Schnittstellen
    • libraries/: Enthält wiederverwendbare Bibliotheken
  • scripts/: Deployment- und andere Skripte
  • test/: Unit-Tests und Integrationstests

🔄 Imports und Abhängigkeiten

In Solidity können Sie andere Verträge und Bibliotheken importieren:

// Lokale Imports
import "./interfaces/IMyContract.sol";
import "./libraries/MyLibrary.sol";

// Imports aus node_modules
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

🎯 Best Practices

  1. Ein Contract pro Datei: Halten Sie jeden Contract in einer separaten Datei
  2. Konsistente Benennung: Dateien sollten nach ihrem Hauptcontract benannt sein
  3. Flache Imports: Vermeiden Sie verschachtelte Import-Pfade
  4. Organisierte Tests: Strukturieren Sie Tests ähnlich wie Ihre Contracts