🏗️ 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ägeinterfaces/
: Enthält Vertrag-Schnittstellenlibraries/
: Enthält wiederverwendbare Bibliotheken
scripts/
: Deployment- und andere Skriptetest/
: 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
- Ein Contract pro Datei: Halten Sie jeden Contract in einer separaten Datei
- Konsistente Benennung: Dateien sollten nach ihrem Hauptcontract benannt sein
- Flache Imports: Vermeiden Sie verschachtelte Import-Pfade
- Organisierte Tests: Strukturieren Sie Tests ähnlich wie Ihre Contracts