Ethereum ist eine bahnbrechende Technologie, die als Grundlage für eine neue Art von Internet dient, das als dezentrales Web bekannt ist. Ethereum wurde von Vitalik Buterin entwickelt und ist eine Open-Source-Plattform auf Blockchain-Basis, die es Entwicklern ermöglicht, dezentrale Anwendungen oder dApps zu erstellen und bereitzustellen. Durch den Einsatz intelligenter Verträge durch Ethereum können dApps genau wie geplant ausgeführt werden, ohne Ausfallzeiten, Zensur, Betrug oder Eingriffe Dritter.
Weiterlesen: Was ist Ethereum?
Ether (ETH) ist die native Kryptowährung von Ethereum und verwendet die Programmiersprache Solidity. Die grundlegende Technologie von Ethereum, die Blockchain, ist ein verteiltes Hauptbuch, das eine permanente, manipulationssichere Liste von Aufzeichnungen führt. Diese dezentrale Architektur ermöglicht es Entwicklern, eine Vielzahl dezentraler Apps (dApps) zu erstellen, indem sie das leistungsstarke Ökosystem und die Anpassungsfähigkeit der Plattform nutzen.
Smart Contracts sind selbstausführende Verträge, bei denen die Bedingungen der Vereinbarung direkt in Codezeilen geschrieben werden. Sie sind die Grundbausteine von dApps auf Ethereum. Diese digitalen Verträge führen automatisch Transaktionen aus und bewegen die Heimatwährung von Ethereum, Ether, zwischen Konten, wenn die im Vertrag definierten Bedingungen erfüllt sind. Durch diese Automatisierung entfällt die Notwendigkeit von Zwischenhändlern, was die Effizienz und Vertrauenswürdigkeit des Prozesses erheblich steigert. Da kleine Computerprogramme in einer Blockchain gespeichert werden, sind intelligente Verträge so konzipiert, dass sie ihre Geschäftsbedingungen automatisch durchsetzen und so digitalen Vereinbarungen ein neues Maß an Automatisierung und Präzision verleihen.
Weiterlesen: Was sind Smart Contracts?
Wie wir in einem unserer vorherigen Kurse hier besprochen haben: Kurs: Smart Contracts 101: Eine grundlegende Einführung, gibt es mehrere wichtige Vorteile von Smart Contracts, die sie zu einem revolutionären Konzept in der digitalen Welt machen:
Eliminierung von Zwischenhändlern: Intelligente Verträge machen Zwischenhändler überflüssig, was zu kostengünstigeren Transaktionen führt.
Dezentralisierung: Durch den Aufbau intelligenter Verträge auf Blockchains können dezentrale Plattformen geschaffen werden, wodurch die Abhängigkeit von einer einzigen zentralen Einheit verringert wird.
Einfache und kostengünstige Entwicklung: Plattformen wie Ethereum bieten Entwicklern die Infrastruktur, die sie benötigen, um transaktionsbasierte Anwendungen einfach und kostengünstig zu erstellen.
Erhöhte Sicherheit und Transparenz: Da intelligente Verträge in Code geschrieben sind, sind Transaktionen irreversibel und nachverfolgbar, was für mehr Transparenz und Sicherheit sorgt.
Selbstdurchsetzung: Smart Contracts sind selbstdurchsetzend und schaffen eine vertrauenslose Umgebung für die Durchführung von Transaktionen mit jedem auf der Welt.
Die gebräuchlichste Sprache zum Schreiben intelligenter Verträge auf Ethereum ist Solidity. Beeinflusst von JavaScript, Python und C++ ist Solidity eine statisch typisierte Sprache, die für die Entwicklung intelligenter Ethereum-Verträge entwickelt wurde. Es ist funktionsreich, ausgereift und verfügt über starke Community-Unterstützung, was es zur ersten Wahl für viele Ethereum-Entwickler macht.
Während Solidity bei der Entwicklung von Ethereum im Rampenlicht steht, bietet eine alternative Sprache namens Vyper eine einzigartige und wertvolle Perspektive. Vyper ist eine sicherheitsorientierte, auf Einfachheit ausgerichtete Python-Sprache, die zum Schreiben intelligenter Verträge in Ethereum entwickelt wurde. Im Gegensatz zu Solidity verzichtet Vyper auf bestimmte Funktionen, um eine höhere Sicherheit und ein einfacheres Verständnis von Verträgen zu gewährleisten.
Trotz der Beliebtheit von Solidity ist Vyper aufgrund seines Engagements für Sicherheit und Lesbarkeit für viele Entwickler eine attraktive Wahl. Es bietet eine zugänglichere Syntax für diejenigen, die mit Python vertraut sind, und ist somit ein guter Ausgangspunkt für Python-Entwickler, die in die Welt der Ethereum-dApps einsteigen möchten.
Um Solidity und Vyper besser zu verstehen, vergleichen wir die beiden Sprachen anhand verschiedener Parameter wie Syntax, Lernkurve, Größe von Arrays und Strings, Community-Unterstützung, Vertrags- und Fehlerbehandlung, Variablendefinition, Erstellung von Auktionen, Funktionsspezifikationen , Auszahlungsprozesse und Vertragsbeendigung.
Da Solidity und Vyper Hochsprachen sind, ist ihre Syntax einfach. Dennoch ähnelt die Syntax von Solidity eher weit verbreiteten Sprachen wie C++ und JavaScript, was es für einige Entwickler einfacher machen könnte. Vyper hingegen ähnelt Python, mit einer Syntax, die für Python-Benutzer erkennbar ist.
Da Solidity die beliebtere Sprache ist, verfügt sie über mehr Dokumentation und Lernmaterialien, die den Lernprozess unterstützen können. Vyper hingegen ist neuer und verfügt über weniger Lernmaterialien. Die einfachere Form und die Ähnlichkeiten mit Python machen es hingegen zu einer leicht zu erlernenden Sprache für Entwickler, die bereits mit Python vertraut sind.
Solidity bietet dynamische String- und Array-Skalierung, sodass Entwickler die Länge eines Strings je nach Bedarf ändern können. Vyper hingegen begrenzt die Größe von Arrays und Strings, um potenzielle Schwachstellen in Smart Contracts zu reduzieren.
Der weit verbreitete Einsatz von Solidity hat zu einer blühenden Gemeinschaft von Entwicklern, Spezialisten und Enthusiasten geführt. Vyper hat als neuere Sprache keine so große Community. Aber je weiter es voranschreitet, desto wahrscheinlicher wird die Unterstützung der Community zunehmen.
Verträge in Solidity können mit Tools wie Brownie und VSCode definiert werden. Beim Erstellen eines Vertrags verlangt Vyper lediglich die Angabe der verwendeten Version von Vyper. Darüber hinaus ermöglicht Vyper die sofortige Erkennung von Tippfehlern, was das Debuggen vereinfacht, während Solidity erfordert, dass Verträge zusammengestellt werden, bevor Fehler entdeckt werden können.
Die Variablendefinition in Vyper ist einfach und erinnert an eine höhere Programmiersprache. Solidity hingegen verfolgt einen komplizierteren Ansatz bei der Variablendeklaration. Darüber hinaus erfordert Solidity die Verwendung von Semikolons, was eine weitere Komplikationsebene mit sich bringt.
Das Erstellen von Auktionen in Vyper ist ein einfacher Vorgang. Es ermöglicht externen Dekorateuren, dass andere Verträge es aufrufen können. Solidität hingegen erfordert eine komplexere Handhabung, einschließlich potenzieller Fehlerdefinitionen und der Verwendung von „If“-Anweisungen.
Vyper-Funktionen können mit einem externen Dekorator dekoriert werden, sodass sie Zahlungen für Transaktionen akzeptieren können. Solidität hingegen erfordert die Weitergabe der externen und zahlbaren Teile innerhalb der Funktion. Außerdem verwendet Solidity „if“-Anweisungen, während Vyper „assert“-Anweisungen verwendet.
Im Gegensatz zu Solidity ist der Auszahlungsprozess bei Vyper einfacher. Solidität erfordert die Definition der Menge und die Erstellung von „Wenn“-Anweisungen, während Vyper eine einfachere Methode verwendet.
Vyper überprüft die Zeit mit „assert“, aber Solidity erfordert eine „if“-Anweisung, bevor die beendete Variable auf „True“ gesetzt wird. Darüber hinaus verlangt Solidity im Gegensatz zu Vyper die Veröffentlichung des Auktionsendes und die Überweisung von Bargeld.
Bevor Sie mit dem Codieren in Vyper beginnen können, müssen Sie sicherstellen, dass Ihr Computer für die Entwicklung bereit ist. Folgendes müssen Sie tun:
Python installieren: Vyper erfordert Python 3.6 oder höher. Sie können Python von der offiziellen Website herunterladen. Befolgen Sie die Anweisungen, um es auf Ihrem Computer zu installieren. Sie können die Installation durch Eingabe überprüfenpython --version
in Ihrem Terminal. Als Ausgabe sollte die von Ihnen installierte Python-Version angezeigt werden.
Pip installieren: Pip ist ein Paketmanager für Python. Es wird zum Installieren und Verwalten zusätzlicher Pakete verwendet, die nicht Teil der Python-Standardbibliothek sind. Pip sollte automatisch installiert werden, wenn Sie Python installieren. Sie können die Installation überprüfen, indem Sie pip --version
in Ihr Terminal eingeben. Wenn es nicht installiert ist, können Sie es von der offiziellen Pip-Website herunterladen und den dortigen Anweisungen folgen.
Sobald Ihre Umgebung bereit ist, können Sie Vyper installieren. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
Python
pip3 installiert Vyper
Sie können sehen, dass uns das Terminal am Ende des Codes vorschlägt, pip zu aktualisieren, indem wir den folgenden Befehl eingeben:
Python
python.exe -m pip install --upgrade pip
Führen Sie diesen Befehl aus, um sicherzustellen, dass die neueste Version von pip verfügbar ist. Nach der Installation der aktualisierten Version sollte eine Meldung wie diese angezeigt werden
Nachdem die Installation abgeschlossen ist, können Sie die Vyper-Version überprüfen, indem Sie vyper --version
ausführen. Als Ausgabe sollte die von Ihnen installierte Vyper-Version angezeigt werden.
Während Sie Vyper-Code in jedem Texteditor schreiben können, kann die Verwendung einer integrierten Entwicklungsumgebung (IDE) Ihre Arbeit erheblich erleichtern. Hier haben Sie zwei Möglichkeiten:
Remix: Remix ist eine browserbasierte IDE von Ethereum. Es unterstützt sowohl Solidity als auch Vyper und bietet Funktionen wie einen integrierten Compiler, einen robusten Debugger und eine Testumgebung. Sie können Remix verwenden, indem Sie zur offiziellen Remix-Website navigieren. Es ist keine Installation erforderlich. (Wir werden diese Option während unseres Kurses nutzen)
Brownie: Brownie ist eine Python-basierte Entwicklungsumgebung und ein Testframework für Ethereum. Es unterstützt sowohl Solidity als auch Vyper. Ein wesentlicher Vorteil von Brownie besteht darin, dass Sie Tests in Python schreiben können, einer Sprache, mit der viele Entwickler bereits vertraut sind. Um Brownie zu installieren, öffnen Sie Ihr Terminal und führen Sie pip3 install eth-brownie
aus. Dies dauert einige Minuten und es werden viele Bibliotheken und Pakete installiert.
Ethereum ist eine bahnbrechende Technologie, die als Grundlage für eine neue Art von Internet dient, das als dezentrales Web bekannt ist. Ethereum wurde von Vitalik Buterin entwickelt und ist eine Open-Source-Plattform auf Blockchain-Basis, die es Entwicklern ermöglicht, dezentrale Anwendungen oder dApps zu erstellen und bereitzustellen. Durch den Einsatz intelligenter Verträge durch Ethereum können dApps genau wie geplant ausgeführt werden, ohne Ausfallzeiten, Zensur, Betrug oder Eingriffe Dritter.
Weiterlesen: Was ist Ethereum?
Ether (ETH) ist die native Kryptowährung von Ethereum und verwendet die Programmiersprache Solidity. Die grundlegende Technologie von Ethereum, die Blockchain, ist ein verteiltes Hauptbuch, das eine permanente, manipulationssichere Liste von Aufzeichnungen führt. Diese dezentrale Architektur ermöglicht es Entwicklern, eine Vielzahl dezentraler Apps (dApps) zu erstellen, indem sie das leistungsstarke Ökosystem und die Anpassungsfähigkeit der Plattform nutzen.
Smart Contracts sind selbstausführende Verträge, bei denen die Bedingungen der Vereinbarung direkt in Codezeilen geschrieben werden. Sie sind die Grundbausteine von dApps auf Ethereum. Diese digitalen Verträge führen automatisch Transaktionen aus und bewegen die Heimatwährung von Ethereum, Ether, zwischen Konten, wenn die im Vertrag definierten Bedingungen erfüllt sind. Durch diese Automatisierung entfällt die Notwendigkeit von Zwischenhändlern, was die Effizienz und Vertrauenswürdigkeit des Prozesses erheblich steigert. Da kleine Computerprogramme in einer Blockchain gespeichert werden, sind intelligente Verträge so konzipiert, dass sie ihre Geschäftsbedingungen automatisch durchsetzen und so digitalen Vereinbarungen ein neues Maß an Automatisierung und Präzision verleihen.
Weiterlesen: Was sind Smart Contracts?
Wie wir in einem unserer vorherigen Kurse hier besprochen haben: Kurs: Smart Contracts 101: Eine grundlegende Einführung, gibt es mehrere wichtige Vorteile von Smart Contracts, die sie zu einem revolutionären Konzept in der digitalen Welt machen:
Eliminierung von Zwischenhändlern: Intelligente Verträge machen Zwischenhändler überflüssig, was zu kostengünstigeren Transaktionen führt.
Dezentralisierung: Durch den Aufbau intelligenter Verträge auf Blockchains können dezentrale Plattformen geschaffen werden, wodurch die Abhängigkeit von einer einzigen zentralen Einheit verringert wird.
Einfache und kostengünstige Entwicklung: Plattformen wie Ethereum bieten Entwicklern die Infrastruktur, die sie benötigen, um transaktionsbasierte Anwendungen einfach und kostengünstig zu erstellen.
Erhöhte Sicherheit und Transparenz: Da intelligente Verträge in Code geschrieben sind, sind Transaktionen irreversibel und nachverfolgbar, was für mehr Transparenz und Sicherheit sorgt.
Selbstdurchsetzung: Smart Contracts sind selbstdurchsetzend und schaffen eine vertrauenslose Umgebung für die Durchführung von Transaktionen mit jedem auf der Welt.
Die gebräuchlichste Sprache zum Schreiben intelligenter Verträge auf Ethereum ist Solidity. Beeinflusst von JavaScript, Python und C++ ist Solidity eine statisch typisierte Sprache, die für die Entwicklung intelligenter Ethereum-Verträge entwickelt wurde. Es ist funktionsreich, ausgereift und verfügt über starke Community-Unterstützung, was es zur ersten Wahl für viele Ethereum-Entwickler macht.
Während Solidity bei der Entwicklung von Ethereum im Rampenlicht steht, bietet eine alternative Sprache namens Vyper eine einzigartige und wertvolle Perspektive. Vyper ist eine sicherheitsorientierte, auf Einfachheit ausgerichtete Python-Sprache, die zum Schreiben intelligenter Verträge in Ethereum entwickelt wurde. Im Gegensatz zu Solidity verzichtet Vyper auf bestimmte Funktionen, um eine höhere Sicherheit und ein einfacheres Verständnis von Verträgen zu gewährleisten.
Trotz der Beliebtheit von Solidity ist Vyper aufgrund seines Engagements für Sicherheit und Lesbarkeit für viele Entwickler eine attraktive Wahl. Es bietet eine zugänglichere Syntax für diejenigen, die mit Python vertraut sind, und ist somit ein guter Ausgangspunkt für Python-Entwickler, die in die Welt der Ethereum-dApps einsteigen möchten.
Um Solidity und Vyper besser zu verstehen, vergleichen wir die beiden Sprachen anhand verschiedener Parameter wie Syntax, Lernkurve, Größe von Arrays und Strings, Community-Unterstützung, Vertrags- und Fehlerbehandlung, Variablendefinition, Erstellung von Auktionen, Funktionsspezifikationen , Auszahlungsprozesse und Vertragsbeendigung.
Da Solidity und Vyper Hochsprachen sind, ist ihre Syntax einfach. Dennoch ähnelt die Syntax von Solidity eher weit verbreiteten Sprachen wie C++ und JavaScript, was es für einige Entwickler einfacher machen könnte. Vyper hingegen ähnelt Python, mit einer Syntax, die für Python-Benutzer erkennbar ist.
Da Solidity die beliebtere Sprache ist, verfügt sie über mehr Dokumentation und Lernmaterialien, die den Lernprozess unterstützen können. Vyper hingegen ist neuer und verfügt über weniger Lernmaterialien. Die einfachere Form und die Ähnlichkeiten mit Python machen es hingegen zu einer leicht zu erlernenden Sprache für Entwickler, die bereits mit Python vertraut sind.
Solidity bietet dynamische String- und Array-Skalierung, sodass Entwickler die Länge eines Strings je nach Bedarf ändern können. Vyper hingegen begrenzt die Größe von Arrays und Strings, um potenzielle Schwachstellen in Smart Contracts zu reduzieren.
Der weit verbreitete Einsatz von Solidity hat zu einer blühenden Gemeinschaft von Entwicklern, Spezialisten und Enthusiasten geführt. Vyper hat als neuere Sprache keine so große Community. Aber je weiter es voranschreitet, desto wahrscheinlicher wird die Unterstützung der Community zunehmen.
Verträge in Solidity können mit Tools wie Brownie und VSCode definiert werden. Beim Erstellen eines Vertrags verlangt Vyper lediglich die Angabe der verwendeten Version von Vyper. Darüber hinaus ermöglicht Vyper die sofortige Erkennung von Tippfehlern, was das Debuggen vereinfacht, während Solidity erfordert, dass Verträge zusammengestellt werden, bevor Fehler entdeckt werden können.
Die Variablendefinition in Vyper ist einfach und erinnert an eine höhere Programmiersprache. Solidity hingegen verfolgt einen komplizierteren Ansatz bei der Variablendeklaration. Darüber hinaus erfordert Solidity die Verwendung von Semikolons, was eine weitere Komplikationsebene mit sich bringt.
Das Erstellen von Auktionen in Vyper ist ein einfacher Vorgang. Es ermöglicht externen Dekorateuren, dass andere Verträge es aufrufen können. Solidität hingegen erfordert eine komplexere Handhabung, einschließlich potenzieller Fehlerdefinitionen und der Verwendung von „If“-Anweisungen.
Vyper-Funktionen können mit einem externen Dekorator dekoriert werden, sodass sie Zahlungen für Transaktionen akzeptieren können. Solidität hingegen erfordert die Weitergabe der externen und zahlbaren Teile innerhalb der Funktion. Außerdem verwendet Solidity „if“-Anweisungen, während Vyper „assert“-Anweisungen verwendet.
Im Gegensatz zu Solidity ist der Auszahlungsprozess bei Vyper einfacher. Solidität erfordert die Definition der Menge und die Erstellung von „Wenn“-Anweisungen, während Vyper eine einfachere Methode verwendet.
Vyper überprüft die Zeit mit „assert“, aber Solidity erfordert eine „if“-Anweisung, bevor die beendete Variable auf „True“ gesetzt wird. Darüber hinaus verlangt Solidity im Gegensatz zu Vyper die Veröffentlichung des Auktionsendes und die Überweisung von Bargeld.
Bevor Sie mit dem Codieren in Vyper beginnen können, müssen Sie sicherstellen, dass Ihr Computer für die Entwicklung bereit ist. Folgendes müssen Sie tun:
Python installieren: Vyper erfordert Python 3.6 oder höher. Sie können Python von der offiziellen Website herunterladen. Befolgen Sie die Anweisungen, um es auf Ihrem Computer zu installieren. Sie können die Installation durch Eingabe überprüfenpython --version
in Ihrem Terminal. Als Ausgabe sollte die von Ihnen installierte Python-Version angezeigt werden.
Pip installieren: Pip ist ein Paketmanager für Python. Es wird zum Installieren und Verwalten zusätzlicher Pakete verwendet, die nicht Teil der Python-Standardbibliothek sind. Pip sollte automatisch installiert werden, wenn Sie Python installieren. Sie können die Installation überprüfen, indem Sie pip --version
in Ihr Terminal eingeben. Wenn es nicht installiert ist, können Sie es von der offiziellen Pip-Website herunterladen und den dortigen Anweisungen folgen.
Sobald Ihre Umgebung bereit ist, können Sie Vyper installieren. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
Python
pip3 installiert Vyper
Sie können sehen, dass uns das Terminal am Ende des Codes vorschlägt, pip zu aktualisieren, indem wir den folgenden Befehl eingeben:
Python
python.exe -m pip install --upgrade pip
Führen Sie diesen Befehl aus, um sicherzustellen, dass die neueste Version von pip verfügbar ist. Nach der Installation der aktualisierten Version sollte eine Meldung wie diese angezeigt werden
Nachdem die Installation abgeschlossen ist, können Sie die Vyper-Version überprüfen, indem Sie vyper --version
ausführen. Als Ausgabe sollte die von Ihnen installierte Vyper-Version angezeigt werden.
Während Sie Vyper-Code in jedem Texteditor schreiben können, kann die Verwendung einer integrierten Entwicklungsumgebung (IDE) Ihre Arbeit erheblich erleichtern. Hier haben Sie zwei Möglichkeiten:
Remix: Remix ist eine browserbasierte IDE von Ethereum. Es unterstützt sowohl Solidity als auch Vyper und bietet Funktionen wie einen integrierten Compiler, einen robusten Debugger und eine Testumgebung. Sie können Remix verwenden, indem Sie zur offiziellen Remix-Website navigieren. Es ist keine Installation erforderlich. (Wir werden diese Option während unseres Kurses nutzen)
Brownie: Brownie ist eine Python-basierte Entwicklungsumgebung und ein Testframework für Ethereum. Es unterstützt sowohl Solidity als auch Vyper. Ein wesentlicher Vorteil von Brownie besteht darin, dass Sie Tests in Python schreiben können, einer Sprache, mit der viele Entwickler bereits vertraut sind. Um Brownie zu installieren, öffnen Sie Ihr Terminal und führen Sie pip3 install eth-brownie
aus. Dies dauert einige Minuten und es werden viele Bibliotheken und Pakete installiert.