Der Web3-Stack: Referenz für Entwickler

Interessieren Sie sich für die Mitgestaltung von Web3-Projekten? Diese Übersicht beleuchtet die gängigsten Ebenen und Entwicklungsumgebungen.

Es ist kein Geheimnis, dass das Thema Web3 derzeit große Aufmerksamkeit erfährt. Viele Fachleute haben Positionen bei etablierten Tech-Unternehmen aufgegeben, um im Web3-Metaversum Fuß zu fassen.

Wenn auch Sie diese Anziehungskraft spüren, stellt sich die Frage: Wo soll man beginnen? Dieser Artikel ist speziell für diejenigen gedacht, die direkt in die Web3-Entwicklung einsteigen möchten. Wir betrachten verschiedene Kategorien, die jeweils wertvolle Ressourcen für Ihren Start bieten.

Zur besseren Übersichtlichkeit werden die Ressourcen in separate Abschnitte unterteilt.

Diese Abschnitte umfassen:

  • Ebenen: Die wichtigsten Blockchains für die Entwicklung.
  • Entwicklungsumgebung: Werkzeuge zur Bereitstellung auf diesen Ebenen.
  • Identität: Die Gestaltung von Wallet-Identitäten und die Nutzung der Krypto-Anmeldung.
  • Speicher: Die Schaffung dauerhafter Datenspeicherung durch P2P-Technologie.
  • API: Direkter Zugriff auf Mainnets zum Abrufen von Informationen.
  • Frontend: Beliebte Frameworks für die Frontend-Entwicklung.

Der Begriff „Stack“ bezeichnet eine spezifische Kombination von Technologien, die zur Erreichung eines bestimmten Ziels verwendet werden. Sei es die Full-Stack-Entwicklung oder in diesem Fall der Web3-Stack. Es ist wichtig zu wissen, dass die Technologien zur Erstellung von Web3-Anwendungen und -Produkten einem stetigen Wandel unterliegen.

Da immer mehr Menschen sich mit der Entwicklung auf der Blockchain vertraut machen, ändern sich viele Dinge. Daher konzentriert sich diese Übersicht auf Ressourcen, die sich bereits in realen Projekten bewährt haben.

Wenn das interessant klingt, legen wir los.

Ebenen

Die Basis eines jeden Web3-Projekts ist eine Ebene – das jeweilige Blockchain-Netzwerk, in dem Ihre Anwendung oder Ihr Produkt beheimatet sein wird.

#1. Ethereum

Ethereum hat durch seine Smart-Contract-Funktionalität immer mehr an Popularität gewonnen.

Entwickler haben Ethereum zur bevorzugten Blockchain-Ebene für die Entwicklung von Web3-Anwendungen der nächsten Generation gemacht. Es ist auch die erste Wahl für viele NFT-Projekte. Wenn Sie also an NFT-bezogenen Anwendungen arbeiten möchten, bietet Ethereum zahlreiche sofort einsatzbereite Ressourcen.

#2. Polygon

Die Polygon-Ebene ist eine Ethereum-Sidechain, die erweiterte Sicherheitsmaßnahmen bietet und gleichzeitig niedrigere Transaktionsgebühren (Gas) ermöglicht. Sie ist eine beliebte Wahl für Projekte mit sehr hohen Transaktionszahlen, aber geringen Transaktionskosten.

Da Polygon eine Sidechain ist, wird sie oft auch als Layer-2-Blockchain bezeichnet. Die rasante Entwicklung von Polygon macht sie nicht nur für NFT-Anwendungen, sondern auch für dApps und Zahlungssysteme zu einer attraktiven Option.

Andere bemerkenswerte Web3-Ebenen:

  • Solana: Eine Blockchain, die speziell für die Erstellung von DeFi-Anwendungen in großem Maßstab entwickelt wurde.
  • NEAR-Protokoll: Eine Smart-Contract-Blockchain mit umfangreichen Entwicklerressourcen.
  • Polkadot: Ein Blockchain-übergreifendes Protokoll für den Aufbau von Governance-Projekten.
  • Tezos: Eine energieeffiziente Plattform für den Aufbau dezentraler kreativer Plattformen.
  • Fantom: Eine Open-Source-Smart-Contract-Plattform zur Entwicklung von dApps.

Entwicklungsumgebung

Eine Entwicklungsumgebung ermöglicht es Ihnen, den gesamten Prozess „von Grund auf“ zu überspringen. Diese basieren hauptsächlich auf Ethereum.

#1. Hardhat

Hardhat ist eine Entwicklungsumgebung für Ethereum-Entwickler. Sie unterstützt Entwickler bei der Automatisierung des Erstellungs- und Kompilierungsprozesses dezentraler Anwendungen und intelligenter Verträge. Ihre Beliebtheit beruht auf einem integrierten Hardhat-Netzwerk, einer exakten Kopie des Ethereum-Netzwerks, mit dem Sie Ihre Anwendungen lokal testen können.

#2. Truffle

Truffle ist ein JavaScript-basiertes Framework für die Entwicklung von Smart Contracts. Es ist auf die Verwendung der EVM (Ethereum Virtual Machine) ausgerichtet und bietet Tools zur Beschleunigung des Entwicklungsprozesses. Einige dieser Tools umfassen automatisierte Tests, einen Vertragscompiler und separate Tools für den direkten Zugriff auf Ihre Kontakte über die Konsole.

Andere bemerkenswerte Web3-Entwicklungsumgebungen:

  • Foundry: Ein Rust-basiertes Toolkit für die Entwicklung von Anwendungen auf Ethereum.
  • Brownie: Ein Python-basiertes Framework zur Erstellung und zum Testen von Smart Contracts.
  • Anchor: Ein in Rust geschriebenes Framework für die Arbeit mit Solana.
  • Embark: Ein All-in-One-Framework, das auf Ethereum aufbaut.
  • Waffle: Ein maßgeschneidertes Framework zum Testen von Smart Contracts.

Identität

Im Gegensatz zur herkömmlichen Authentifizierung mit Benutzernamen und Passwörtern nutzen Web3-Entwickler sowohl die Verwendung von Wallets als auch öffentlichen Schlüsseln.

#1. WalletConnect

WalletConnect ist ein Open-Source-Protokoll für die Verbindung mit dApps über eine mobile Wallet. Das Hauptprinzip von WalletConnect ist das Scannen eines QR-Codes, mit dem Benutzer ihre Identität verifizieren und eine neue Verbindung zur Web3-Anwendung genehmigen können.

Wallets wie Pillar oder MetaMask sind direkt in WalletConnect integriert. Dies bedeutet, dass Ihnen zahlreiche Entwicklerressourcen zur Verfügung stehen. Darüber hinaus funktioniert das Protokoll mit allen wichtigen Blockchains und es werden regelmäßig weitere hinzugefügt.

#2. Spruce

Spruce ist ein von Y Combinator unterstütztes Startup, das das Konzept der dezentralen Identität über die Blockchain hinaus erweitern will. Mit diesem Toolkit können Benutzer ihre digitale Identität über verschiedene Medien hinweg verifizieren: soziale Medien, persönliche Webseiten und Blockchain-Netzwerke.

Speicher

Wie werden Medien – Videos, Fotos usw. – in Web3 gespeichert? Dies geschieht hauptsächlich mit Hilfe von P2P-Dateispeicherprotokollen.

#1. IPFS

IPFS ist das weltweit führende P2P-Speicherprotokoll (Peer-to-Peer). Nach dem Hochladen einer Datei in IPFS wird diese verkleinert, durch einen benutzerdefinierten Hash gesichert und mit einem eindeutigen Fingerabdruck versehen.

Anschließend können andere Knoten (Systeme oder Einzelpersonen) im Netzwerk auf die Datei zugreifen, sie überprüfen und in ihrem Cache speichern. Nach dem Zwischenspeichern ist die Datei für jeden mit der richtigen Zugriffsmethode verfügbar.

Das Ziel von IPFS ist nicht nur die Bereitstellung eines dezentralen Speichersystems, sondern auch die Sicherstellung der langfristigen Verfügbarkeit von Inhalten über Jahrzehnte hinweg. Im Gegensatz dazu können Webseiten verschwinden und ihre gesamten Inhalte verloren gehen. IPFS bietet hier eine Lösung.

#2. SkyNet

SkyNet ermöglicht die unkomplizierte Dateifreigabe über das Sia (dezentralisierte) Cloud-Netzwerk. Sie können es direkt über die Startseite nutzen. Laden Sie einfach eine Datei hoch und Sie erhalten einen Link. Dieser ist 90 Tage gültig, es sei denn, Sie registrieren sich für einen API-Schlüssel. Im Entwicklungskontext ermöglicht es Skynet Ihnen, denselben Anwendungsfall innerhalb Ihrer eigenen dezentralen Anwendung zu replizieren.

#3. Filebase

Filebase ist ein SaaS-Startup, das eine direkte Verbindung zur Amazon S3-API bietet. Mit dieser API können Sie Daten aus Ihren S3-Buckets abrufen und an verschiedene dezentrale Speicheroptionen verteilen.

Filebase unterstützt derzeit unter anderem Web3-basierte Speicheroptionen wie Skynet, IPFS, Sia und Storj. Dies bedeutet für Entwickler, dass sie den Prozess der Bereitstellung dezentraler Dateispeicherdienste für ihre Kunden vereinfachen können.

Als neuer Benutzer erhalten Sie 5 GB Speicherplatz kostenlos, aber auch die Preise für kostenpflichtige Pläne sind angemessen.

Andere bemerkenswerte Web3-Speicherlösungen:

  • Arweave: Ein Protokoll für die dauerhafte und nachhaltige Datenspeicherung gegen eine einmalige Gebühr.
  • Filecoin: Speichern Sie beliebige Medien in einer dezentralen Cloud-Umgebung.
  • Swarm: Ein autarker P2P-Speicherknoten, der durch intelligente Verträge von Ethereum gefördert wird.
  • Aleph: Entwickeln Sie dApps und lassen Sie Aleph Cloud-basierten Speicher für Sie verwalten.

API

Im Gegensatz zu einem herkömmlichen datenbankbasierten Stack verwenden Entwickler eine API für die Interaktion mit der Blockchain zum Abrufen oder Speichern von Daten. APIs werden manchmal auch als Clients bezeichnet.

#1. The Graph

The Graph ist eine All-in-One-API-Lösung für die Verbindung mit verschiedenen Blockchains. Das Ziel dieser API ist es, Entwicklern den Zugriff auf Daten zu erleichtern, die sonst mit individuellen Algorithmen generiert werden müssten. Die Datenpunkte in der Blockchain reichen von einfachen Adressen bis hin zu komplexen Transaktionen auf der Basis von Smart Contracts.

Ein Beispiel hierfür ist die Verfolgung der Historie einer NFT. Während einzelne Kaufhistorien relativ leicht nachzuverfolgen sind, wird es schwieriger, wenn Sie versuchen, die Beziehungen zu verschiedenen Käufen zu verstehen. In solchen Fällen bietet The Graph API vorgefertigte Aufrufe und Indexverzeichnisse, um Ihnen bei der schnellen Visualisierung eines bestimmten Anwendungsfalls zu helfen.

#2. Web3.js

Web3.js ist die beliebteste JavaScript-API für die direkte Interaktion mit Ethereum. Sie wird hauptsächlich für die Entwicklung von Client-Anwendungen verwendet, die mit der Ethereum-Chain interagieren. Die in Web3.js enthaltene Sammlung von Subbibliotheken bietet Funktionen wie Übertragungen, intelligente Vertragsverwaltung und mehr.

#3. Alchemy

Alchemy hat sich schnell zu einer der angesehensten Web3-Plattformen entwickelt. Ihr Ansatz besteht darin, Entwickler bei der schnellen Entwicklung und Skalierung von Web3-Anwendungen zu unterstützen. Dies wird durch eine ausgeklügelte Blockchain-API und eine Reihe von Entwicklertools erreicht.

#4. useDApp

useDApp ist ein React-basiertes Framework für die Interaktion mit der Ethereum-Blockchain. Es besteht aus React.js, der Ethers.js-Bibliothek, Waffle- und Web-3-React-Komponenten. Es wird in der Regel zur Erstellung leicht zugänglicher Webseiten-Frontends verwendet, die verschiedene Datenabfragen basierend auf Ihren Projektanforderungen darstellen können.

Frontend

Welche Frameworks werden von Entwicklern für die Erstellung von Frontend-Schnittstellen für Web3-Projekte verwendet?

#1. React

Die Popularität von React ist beispiellos. Es überrascht daher nicht, dass es auch die beliebteste Frontend-Bibliothek für Web3-Seiten ist. Die komponentenorientierte Architektur ermöglicht es Entwicklern, an verschiedenen Teilen des Frontends zu arbeiten, ohne das Kerndesign zu beeinträchtigen.

Für eine solide Ausgangsbasis können Sie die Web3-React-Bibliothek auf GitHub einsehen.

#2. Next.js

Next.js ist der Nachfolger von React, obwohl keine direkte Verbindung besteht. Große Web3-Projekte erfordern ein enormes Ressourcenmanagement. Next.js bietet native Tools für statische und dynamische Projekte und wird von Unternehmen wie Binance, Bitscreener, Hashnode und anderen verwendet.

Für einen schnellen Start ist die Next Web3-Boilerplate ideal.

Einstieg in die Web3-Entwicklung

Das ist viel Stoff, besonders wenn Sie gerade erst anfangen. Tatsächlich verändert sich der Bereich sehr schnell. Während die ersten Projekte alle NFT-bezogen waren, liegt der Schwerpunkt heute stärker auf dezentralen Netzwerken und einzelnen Blockchain-Plattformen.

Diese Übersicht sollte Ihnen für den Einstieg in ein Web3-Projekt ausreichen. Ich empfehle auch, sowohl auf Twitter als auch auf Discord auf dem Laufenden zu bleiben, da dies die beiden aktivsten Communities sind, um mit den neuesten Web3-Trends Schritt zu halten.