Willkommen zur Entwicklerdokumentation für DEXWeb, unserer innovativen dezentralen Tauschbörse (DEX) für Kryptowährungen. Diese Dokumentation bietet technische Details und Anleitungen für Entwickler, die zum DEXWeb-Projekt beitragen oder die Plattform erweitern möchten.
---
## Inhaltsverzeichnis
1.[Einführung](#einf%C3%BChrung)
2.[Projektstruktur](#projektstruktur)
3.[Technologie-Stack](#technologie-stack)
4.[Installation und Einrichtung](#installation-und-einrichtung)
5.[Smart Contracts](#smart-contracts)
6.[Frontend-Entwicklung](#frontend-entwicklung)
---
## Einführung
DEXWeb ist eine dezentralisierte Tauschbörse für Kryptowährungen, die Benutzern ermöglicht, sicher und direkt über den Webbrowser zu handeln. Die Plattform verwendet Smart Contracts auf der Polygon Blockchain, um einen vertrauenswürdigen und intermediärfreien Austausch zu gewährleisten.
---
## Projektstruktur
Das DEXWeb-Projekt ist in mehrere Hauptkomponenten unterteilt:
-**Smart Contracts**: Enthält alle Solidity-Dateien und Migrationen.
-**Frontend**: Besteht aus der Benutzeroberfläche und den zugehörigen Assets.
-**Backend**: Umfasst Server-Logik, API-Endpunkte und Datenbankintegration.
-**Tests**: Beinhaltet Unit- und Integrationstests für Smart Contracts und Backend.
Um das Projekt lokal auszuführen, folgen Sie diesen Schritten:
1. _Starten des lokalen Entwicklungsservers:_
bash yarn dev
2. Öffnen Sie Ihren Webbrowser und navigieren Sie zu , um die Anwendung zu verwenden.
3. _Wallet-Verbindung:_
- Klicken Sie auf "Verbinden" in der oberen rechten Ecke der Anwendung.
- Wählen Sie Ihre bevorzugte Wallet aus der Liste aus (z.B. MetaMask).
- Folgen Sie den Anweisungen, um sich mit Ihrer Wallet zu verbinden.
4. _Token swapen:_
- Wählen Sie das Token-Paar aus, das Sie tauschen möchten.
- Geben Sie den Betrag ein, den Sie tauschen möchten.
- Klicken Sie auf "Swapen", um den Tausch durchzuführen.
- Folgen Sie den Anweisungen in Ihrer Wallet, um den Tausch zu bestätigen.
---
## Smart Contracts
### Übersicht
Die Haupt-Smart Contracts für DEXWeb befinden sich im `contracts` Verzeichnis und sind in Solidity geschrieben. Der primäre Vertrag ist `DEXWeb.sol`, der die Hauptlogik für den Austausch von Kryptowährungen enthält.
### DEXWeb.sol
---
## **Frontend-Entwicklung**
Das Frontend von DEXWeb ist mit React und thirdweb gebaut und befindet sich im **`frontend`** Verzeichnis.
### **Hauptkomponenten**
***Pages**: Die Hauptkomponente, die die Anwendung rendert.
Willkommen zur Entwicklerdokumentation für DEXWeb, unserer innovativen dezentralen Tauschbörse (DEX) für Kryptowährungen. Diese Dokumentation bietet technische Details und Anleitungen für Entwickler, die zum DEXWeb-Projekt beitragen oder die Plattform erweitern möchten.
---
## Inhaltsverzeichnis
1.[Einführung](#einf%C3%BChrung)
2.[Projektstruktur](#projektstruktur)
3.[Technologie-Stack](#technologie-stack)
4.[Installation und Einrichtung](#installation-und-einrichtung)
5.[Smart Contracts](#smart-contracts)
6.[Frontend-Entwicklung](#frontend-entwicklung)
---
## Einführung
DEXWeb ist eine dezentralisierte Tauschbörse für Kryptowährungen, die Benutzern ermöglicht, sicher und direkt über den Webbrowser zu handeln. Die Plattform verwendet Smart Contracts auf der Polygon Blockchain, um einen vertrauenswürdigen und intermediärfreien Austausch zu gewährleisten.
---
## Projektstruktur
Das DEXWeb-Projekt ist in mehrere Hauptkomponenten unterteilt:
-**Smart Contracts**: Enthält alle Solidity-Dateien und Migrationen.
-**Frontend**: Besteht aus der Benutzeroberfläche und den zugehörigen Assets.
-**Backend**: Umfasst Server-Logik, API-Endpunkte und Datenbankintegration.
-**Tests**: Beinhaltet Unit- und Integrationstests für Smart Contracts und Backend.
Um das Projekt lokal auszuführen, folgen Sie diesen Schritten:
1. _Starten des lokalen Entwicklungsservers:_
bash yarn dev
2. Öffnen Sie Ihren Webbrowser und navigieren Sie zu , um die Anwendung zu verwenden.
3. _Wallet-Verbindung:_
- Klicken Sie auf "Verbinden" in der oberen rechten Ecke der Anwendung.
- Wählen Sie Ihre bevorzugte Wallet aus der Liste aus (z.B. MetaMask).
- Folgen Sie den Anweisungen, um sich mit Ihrer Wallet zu verbinden.
4. _Token swapen:_
- Wählen Sie das Token-Paar aus, das Sie tauschen möchten.
- Geben Sie den Betrag ein, den Sie tauschen möchten.
- Klicken Sie auf "Swapen", um den Tausch durchzuführen.
- Folgen Sie den Anweisungen in Ihrer Wallet, um den Tausch zu bestätigen.
---
## Smart Contracts
### Übersicht
Die Haupt-Smart Contracts für DEXWeb befinden sich im `contracts` Verzeichnis und sind in Solidity geschrieben. Der primäre Vertrag ist `DEXWeb.sol`, der die Hauptlogik für den Austausch von Kryptowährungen enthält.
### DEXWeb.sol
---
## **Frontend-Entwicklung**
Das Frontend von DEXWeb ist mit React und thirdweb gebaut und befindet sich im **`frontend`** Verzeichnis.
### **Hauptkomponenten**
***Pages**: Die Hauptkomponente, die die Anwendung rendert.
Dieser Prozess beschreibt die Erstellung einer umfassenden Dokumentation für einen Smart Contract, von der Generierung der JSON-Dokumentation bis zur Darstellung als Webseite.
## Erstellung der JSON-Dokumentation
- Verwendung des Solidity-Compilers (solc) zur Generierung einer JSON-Ausgabe des Smart Contracts.
- Konfiguration der Compiler-Einstellungen für die Ausgabe von ABI, Bytecode, Methoden-Identifikatoren, Metadaten sowie User- und Developer-Dokumentation.
- Ergebnis: solc-output.json mit detaillierten Informationen über den Contract.
## Umwandlung von JSON zu Markdown
- Erstellung eines Node.js-Skripts zur Umwandlung der JSON-Ausgabe in eine Markdown-Datei.
- Das Skript liest solc-output.json und extrahiert relevante Informationen.
- Generierung von strukturiertem Markdown-Text, der Folgendes enthält:
- Speicherung des generierten Markdown-Textes in Contract.md im docs-Verzeichnis.
## Anzeige der Markdown-Datei als Webseite mit MkDocs
1. Installation von MkDocs
2. Projekt erstellen
3. Konfiguration in mkdocs.yml
4. Dokumentation hinzufügen: Verschieben der generierten Contract.md in das docs-Verzeichnis
5. Lokale Vorschau starten
6. Erstellung der statischen Seite
7. Optionales Deployment auf GitHub Pages
## Vorteile der Verwendung von MkDocs
- Einfache Bedienung und Konfiguration
- Unterstützung von Themes für professionelles Aussehen
- Integrierte Suchfunktion
- Verwaltung mehrerer Seiten
- Einfache Navigation zwischen Dokumenten
## Schlussfolgerung
Dieser Prozess ermöglicht die Erstellung einer gut strukturierten, lesbaren und wartbaren Dokumentation für Smart Contracts. Die Verwendung von Markdown als Zwischenformat bietet Vorteile bei der Versionskontrolle und Flexibilität bei der Anzeige. MkDocs transformiert die Dokumentation in eine ansprechende, navigierbare Website, die für Entwickler und Benutzer gleichermaßen nützlich ist.