Weiter zum Hauptinhalt

Helfen Sie mit, diese Seite zu aktualisieren

🌏

Es gibt eine neue Version dieser Seite, aber im Moment ist sie nur auf Englisch verfĂŒgbar. Helfen Sie mit, die neueste Version zu ĂŒbersetzen.

Seite ĂŒbersetzen
In Englisch

Hier sind keine Fehler!🐛

Diese Seite wird nicht ĂŒbersetzt. Wir haben diese Seite bewusst vorerst auf Englisch belassen.

Eine Anleitung zum Ethereum-Stack

Letzte Änderung: , Invalid DateTime
Seite bearbeiten

Wie bei jedem Software-Stack variiert der komplette "Ethereum-Stack" zielabhÀngig von Projekt zu Projekt.

Es gibt jedoch zentrale Komponenten von Ethereum, die dabei helfen, ein gedankliches Modell fĂŒr die Interaktion von Softwareanwendungen mit der Ethereum-Blockchain bereitzustellen. Wenn Sie die Ebenen des Stacks verstehen, ist es einfacher, die unterschiedlichen Möglichkeiten fĂŒr die Integration von Ethereum in Softwareprojekte zu verstehen.

Ebene 1: Ethereum-Virtual Machine

Die Ethereum-Virtual Machine (EVM) ist die Laufzeitumgebung fĂŒr Smart Contracts in Ethereum. Alle Smart Contracts und StatusĂ€nderungen auf der Ethereum-Blockchain erfolgen ĂŒber Transaktionen. Die EVM ĂŒbernimmt die gesamte Transaktionsabwicklung im Ethereum-Netzwerk.

Wie bei jeder virtuellen Maschine erzeugt die EVM einen Abstraktionsgrad zwischen dem ausfĂŒhrenden Code und der ausfĂŒhrenden Maschine (einem Ethereum-Node). Derzeit lĂ€uft die EVM auf Tausenden von Knoten auf der ganzen Welt.

Unter der Haube verwendet die EVM eine Reihe von Opcode-Anweisungen, um bestimmte Aufgaben auszufĂŒhren. Diese (140 einmaligen) Opcodes erlauben es der EVM Turing-VollstĂ€ndig zu sein. Das bedeutet, dass die EVM in der Lage ist, nahezu alles zu berechnen, sofern ausreichend Ressourcen verfĂŒgbar sind.

Als dApp-Entwickler mĂŒssen Sie ĂŒber die EVM nicht mehr wissen, als dass sie existiert und sie alle Anwendungen auf Ethereum zuverlĂ€ssig ohne Ausfallzeiten betreibt.

Ebene 2: Smart Contracts

Smart Contracts sind die ausfĂŒhrbaren Programme, die auf der Ethereum-Blockchain laufen.

Smart Contracts werden unter Verwendung bestimmter Programmiersprachen geschrieben, die in EVM Bytecode kompiliert werden (Low-Level-Maschinenbefehle, Opcodes genannt).

Smart Contracts dienen nicht nur als Open-Source-Bibliotheken, sondern sind im Wesentlichen offene API-Dienste, die rund um die Uhr laufen und nicht aufgehoben werden können. Smart Contracts stellen öffentliche Funktionen zur VerfĂŒgung, mit denen Nutzer und Anwendungen (dApps) interagieren können, ohne dass eine Berechtigung dafĂŒr erforderlich ist. Jede Anwendung kann sich in die bereitgestellten Smart Contracts integrieren, um Funktionen zusammenzustellen, wie z. B. das HinzufĂŒgen von Daten-Feeds oder die UnterstĂŒtzung von Token-Swaps. Zudem kann jeder neue Smart Contracts fĂŒr Ethereum bereitstellen, um maßgeschneiderte Funktionen fĂŒr die Anforderungen der eigenen Anwendung zu schaffen.

Als dApp-Entwickler mĂŒssen Sie Smart Contracts nur dann schreiben, wenn Sie benutzerdefinierte Funktionen zur Ethereum-Blockchain hinzufĂŒgen möchten. Sie werden feststellen, dass sich die meisten oder alle BedĂŒrfnisse Ihres Projekts durch die Integration von bestehenden Smart Contracts erfĂŒllen lassen, zum Beispiel wenn Sie Zahlungen in Stablecoins unterstĂŒtzen oder den dezentralen Austausch von Tokens ermöglichen möchten.

Ebene 3: Ethereum-Nodes

Damit eine Anwendung mit der Ethereum-Blockchain interagieren kann, muss sie sich mit einem Ethereum-Node verbinden. Wenn Sie sich mit einem Node verbinden, können Sie Blockchain-Daten lesen und/oder Transaktionen an das Netzwerk senden.

Ethereum-Nodes sind Computer auf denen Software lĂ€uft – ein Ethereum-Client. Ein Client ist eine Implementierung von Ethereum, der alle Transaktionen in jedem Block prĂŒft und das Netzwerk somit sicher und die Daten genau hĂ€lt. Ethereum-Nodes sind die Ethereum-Blockchain. Sie speichern gemeinsam den Zustand der Ethereum-Blockchain und erreichen einen Konsens ĂŒber Transaktionen, um den Blockchain-Status zu mutieren.

Indem Sie Ihre Anwendung mit einem Ethereum-Node verbinden (ĂŒber die JSON-RPC-API), kann Ihre Anwendung Daten aus der Blockchain lesen (z. B. Salden von Benutzerkonten) und neue Transaktionen an das Netzwerk senden (z. B. ETH-Übertragungen zwischen Benutzerkonten oder die AusfĂŒhrung von Smart-Contract-Funktionen).

Ebene 4: Ethereum-Client-APIs

Viele komfortable Bibliotheken (die von der Open-Source-Community von Ethereum erstellt und verwaltet werden) ermöglichen es Ihren Anwendern, sich mit der Ethereum-Blockchain zu verbinden und mit ihr zu kommunizieren.

Wenn Ihre benutzerseitige Anwendung eine Web-App ist, können Sie auch eine entsprechende JavaScript-API direkt in Ihr Frontend installieren. Oder Sie verwenden eine Python- oder Java-API, um diese FunktionalitÀt serverseitig zu implementieren.

Obwohl diese APIs kein notwendiger Bestandteil des Stacks sind, gestalten sie die direkte Interaktion mit einem Ethereum-Node wesentlich einfacher. Zudem bieten sie Dienstprogrammfunktionen (z. B. Umwandlung von ETH zu GWei), so dass Sie als Entwickler weniger Zeit damit verbringen, Probleme mit Ethereum-Clients zu lösen, und sich auf die konkreten Funktionen Ihrer Anwendung konzentrieren können.

Ebene 5: Endbenutzeranwendungen

Auf der obersten Ebene des Stacks befinden sich benutzerorientierte Anwendungen. Das sind die Standardanwendungen, die Sie heute regelmĂ€ĂŸig nutzen aund aufhauen: in erster Linie Web- und Mobilanwendungen.

Die Art und Weise, wie Sie diese BenutzeroberflĂ€chen entwickeln, bleibt im Wesentlichen unverĂ€ndert. Meist mĂŒssen Benutzer nicht wissen, dass die von ihnen verwendete Anwendung auf einer Blockchain erstellt wurde.

Bereit, Ihren Stack zu wÀhlen?

Machen Sie sich mit unserem Leitfaden vertraut, um eine lokale Entwicklungsumgebung fĂŒr Ihre Ethereum-Anwendung aufzusetzen.

WeiterfĂŒhrende Informationen

  • Die Architektur einer Web 3.0-Anwendung – Preethi Kasireddy

Kennen Sie eine Community Ressource, die Ihnen geholfen hat? Bearbeiten Sie diese Seite und fĂŒgen Sie sie hinzu.

War dieser Artikel hilfreich?