Wie schreibe und stelle ich meinen ersten Smart Contract bereit?

Veröffentlicht: 2020-02-13

Smart Contracts sind heute ein führender Trend in der Blockchain-Technologie. Wenn Sie daran denken, eine Karriere in diesem Bereich aufzubauen, hilft Ihnen dieser Artikel mit allem, was Sie wissen müssen, um Ihren ersten Smart Contract zu schreiben !

Lernen Sie Online-Softwarekurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Inhaltsverzeichnis

Wie schreibt man seinen ersten Smart Contract?

Das heutige digitale Zeitalter hat es zwei Parteien ermöglicht, Vereinbarungen ohne Beteiligung Dritter abzuschließen. Diese digitalen Verträge werden von der Blockchain verarbeitet und in einer öffentlichen Datenbank gespeichert. Die Transaktionen sind also nachverfolgbar und irreversibel.

Wenn Sie Ihren ersten Smart Contract schreiben möchten, bringen Sie die unten zusammengestellten Ressourcen auf den richtigen Weg.

Lesen Sie: 10 Blockchain-Trends und -Vorhersagen für 2020

Definieren von Smart Contracts

Der Begriff „Smart Contract“ wurde erstmals 1996 vom amerikanischen Informatiker Nick Szabo vorgeschlagen. Es handelt sich um ein Computer- oder digitales Protokoll, das die Erfüllung eines Vertrags erleichtert, verifiziert und durchsetzt. Als Allzweckberechnung befindet sich ein Smart Contract auf einer Blockchain oder einem verteilten Ledger.

Mit anderen Worten, der Vertrag ist in Form eines Computerprogramms in den Code eingebaut. Und die benannten Akteure erhalten die Erlaubnis, die Funktion des Programms auszuführen. Für die erfolgreiche Ausführung des Smart Contracts sollten die vordefinierten Regeln eingehalten werden.

Nehmen Sie zum Beispiel eine Bestellung (PO). Es ist ein einfacher Vertrag zwischen einem Käufer und einem Verkäufer. Für die Durchführung der PO müssen bestimmte Bedingungen erfüllt sein. Diese Spezifikationen umfassen die erfolgreiche Zahlung durch den Käufer, die Lieferung der Ware durch den Lieferanten gemäß den zum Zeitpunkt des Kaufs vereinbarten Bedingungen, Rückgabebedingungen usw.

Der Käufer kann also eine Bestellung aufgeben und der Lieferant kann die Bestellung in einem digitalen Format ausführen. Über ein Computernetzwerk werden alle Aktionen als Transaktionen bezeichnet. Und alle Transaktionen werden vom Netzwerk verifiziert und durchgesetzt. Nach der Bestätigung können die Transaktionen nicht mehr rückgängig gemacht werden.

Lesen Sie: Voraussetzungen zum Erlernen von Blockchain. Es ist nicht das, was du denkst

Voraussetzungen für die Einrichtung eines Smart Contracts

Für die Erstellung von Smart Contracts stehen verschiedene Programmiersprachen zur Verfügung. Die Wahl der Sprache hängt hauptsächlich von der Blockchain-Plattform ab. Beispielsweise sind Solidity, Vyper, eWASM und Ethereum Bytecode einige der beliebtesten Smart-Contract-Sprachen für die Ethereum-Blockchain-Plattform.

Smart-Contract-Entwicklungsumgebung

Bevor Sie Ihren ersten Smart Contract schreiben , richten Sie den Spielplatz für seine Entwicklung ein. Ein tieferer Einstieg in die Blockchain-Welt wäre ohne die Kenntnis von Entwicklungsumgebungen schwierig. Sie können aus den folgenden Alternativen wählen.

  • Remix IDE: Es ist eine integrierte Entwicklungsumgebung zum Erstellen und Testen von Smart Contracts. Diese vollständige Online-Option wird Anfängern dringend empfohlen, da keine Installation erforderlich ist. Darüber hinaus stellt es weniger Herausforderungen für das Prototyping und die schnelle Validierung von Smart Contracts dar.
  • Lokale Einrichtung: Lokale Maschinen bieten eine weitere Ressource für die Entwicklung intelligenter Verträge. Die Tools bieten größere Flexibilität für Unternehmensanwendungen. Und obwohl die Einrichtung dieser Umgebung einige Zeit in Anspruch nimmt, ist die Auswahl der Tools für verteilte Anwendungen oder DApps ein recht unkomplizierter Prozess.

Aufbau eines Smart Contracts

Sehen wir uns einen Bestellvertrag an, der mit der Programmiersprache Solidity entwickelt wurde.

Ein Smart Contract von Solidity folgt einer Standardstruktur, die „Daten“ und „Funktion“ umfasst. Während die Daten den aktuellen Status des Smart Contracts beibehalten, wendet die Funktion Logik an, um diesen Status zu ändern.

Der Vertrag beginnt mit der als „ Pragmarichtlinie “ bezeichneten Erklärung. Das Schlüsselwort „pragma“ ermöglicht Compiler-Checks oder Features. Betrachten Sie die folgende Aussage:

Pragma Solidität >=0.4.0 <=0.6.0

Die Erklärung soll sicherstellen, dass der Smart Contract nicht mit einer Compiler-Version vor 0.40 und nach 0.60 kompiliert wird.

Als nächstes kommt die „ Vertragserklärung “. Die folgende Anweisung verwendet das Schlüsselwort „contract“ und identifiziert einen leeren Vertrag mit dem Namen „Purchase Order“.

Vertrag Bestellung{}

Daten speichern

In jedem Vertrag oder Computerprogramm sind Daten gespeichert. Variablen bieten eine Möglichkeit, die Daten zu speichern, zu kennzeichnen, abzurufen und zu manipulieren. Es gibt zwei Arten von Variablen in Solidity – Wert und Referenz. Die Werttypvariablen werden immer kopiert, wenn sie als Funktionsargumente verwendet werden, z. B. boolesche Werte, Ganzzahlen usw.

Wohingegen Variablen vom Referenztyp den Datenspeicherort speichern. Jede Änderung in einer Referenzvariablen wirkt sich auf eine andere Variable aus. Daher müssen sie sorgfältig verwaltet werden. Beispiele sind Arrays und Structs.

Daten hinzufügen

In einer Bestellung wäre normalerweise eine Produktmenge damit verbunden. Lassen Sie uns nun eine Datenvariable zum Smart Contract hinzufügen. Wir werden eine Variable product_quantity mit der Annahme hinzufügen, dass sie nur positive Werte haben wird.

Zuerst führen wir eine Ganzzahl ohne Vorzeichen ein, die durch uint256 repräsentiert wird. Unsigned (u) bedeutet hier den Variablentyp, der nur positive ganze Zahlen darstellen kann, und 256 bedeutet die Speicherung von 256 Bits.

Vertrag Bestellung{uint256 product_quantity;}

Konstrukteur

Der Konstruktor initialisiert den Smart Contract mit einigen Werten, wenn der Vertrag bereitgestellt wird. Angenommen, die Produktmenge ist auf 100 festgelegt.

Konstruktor() public{product_quantity = 100;}

Zu beachten ist, dass das Schlüsselwort bzw. der Zugriffsmodifikator „public“ angibt, dass die Funktion nicht eingeschränkt ist. Es ist also für jeden zugänglich.

Funktionen hinzufügen

Das Hinzufügen von Funktionen macht Ihr Programm interaktiv. Dies sind kontrollierte Fähigkeiten, denen das Schlüsselwort „Funktion“ vorangestellt ist. Die Deklaration umfasst den Funktionsnamen, den Zugriffsmodifikator, den Zustandsmutator und den Rückgabewert.

Um den gespeicherten Wert auszulesen, fügen wir die „Get-Funktion“ hinzu. Mit „get_quantity“ erhält diese Funktion die Fähigkeit, die gespeicherten Daten abzurufen oder zu lesen. Sehen Sie sich die untenstehende Aussage an.

Funktion get_quantity() öffentliche Ansicht return(uint256){return product_quantity;}

Wenn wir es weiter aufschlüsseln, sehen wir Folgendes:

  • Funktionsname: get_quantity (Das „()“ bedeutet, dass keine Parameter übergeben werden)
  • Access Modifier: public (Zugriff ist nicht eingeschränkt)
  • State Mutator: view (zeigt an, dass die Funktion den Vertragsstatus nicht ändert, sondern nur liest)
  • Rückgaben: Definiert, was von der Funktion zurückgegeben wird, dh eine Variable vom Typ uint256

Setter-Funktionen

Die Setter-Funktion kommt ins Spiel, wenn Sie die Daten schreiben oder aktualisieren möchten. Diese Funktion nimmt einen Eingabeparameter vom Benutzer entgegen, basierend auf dem sie den Wert der Variable „product_quantity“ aktualisiert. Die Set-Funktion (update_quantity) wird wie folgt gepluggt:

update_quantity(uint256 value) public {product_quantity = product_quantity + value;}

Fügen Sie nun alle oben angegebenen Anweisungen ein, um Ihren ersten Smart Contract zu schreiben .

Bereitstellen des Smart Contracts

Sobald Sie mit den zuvor erwähnten Schritten fertig sind, ist es an der Zeit, Ihren Smart Contract zu testen. Sie können dasselbe mit der Remix IDE tun, die Solidity Compiler-Fähigkeiten bietet, um Ihren Smart Contract online zu erstellen, zu testen und zu validieren.

Hier sind die schrittweisen Anweisungen zum Entwerfen und Bereitstellen eines Smart Contracts mit Remix Online IDE:

  1. Klicken Sie auf das Plus-Symbol, um eine neue (leere) Datei zu erstellen
  2. Klicken Sie auf , um die leere Datei zu öffnen
  3. Fügen Sie Ihren Vertrag in diese Datei ein
  4. Gehen Sie zum linken Menü und klicken Sie auf das zweite Symbol direkt unter dem Dateisymbol. Damit erscheint die Solidity-Compiler-Option
  5. Gehen Sie zum Compiler-Label, um die Compiler-Version auszuwählen
  6. Klicken Sie auf die Datei, um den Smart Contract zu erstellen
  7. Klicken Sie nach der Kompilierung auf die Schaltfläche „Compilerdetails“, um den Bytecode und die Binärschnittstelle der Anwendung zu verstehen. Bytecode enthält nach der Konvertierung und Kompilierung den Betriebscode von Ethereum und die intelligente Vertragslogik
  8. Klicken Sie im linken Menü auf das Symbol unter dem Kompiliersymbol, um Ihren Smart Contract bereitzustellen

Interagieren mit dem bereitgestellten Vertrag

Die im Vertrag erwähnten öffentlichen Methoden bieten Möglichkeiten zur Interaktion mit dem bereitgestellten Vertrag. Im Kontext der Bestellung sind „update_quantity“ und „get_quantity“ die beiden verfügbaren Interaktionsmethoden. Sie können Ihre Parameter auch über das Eingabefeld eingeben. Denken Sie daran, dass jede Operation, die die Vertragsvariablen ändert, zu einer Transaktion führt.

Damit haben wir die Grundlagen zum Schreiben Ihres ersten Smart Contracts und zum Testen und Bereitstellen mit der Programmiersprache Solidity in einer Online-Entwicklungsumgebung behandelt. Wir haben auch den Prozess der Interaktion mit einem Smart Contract und der Initiierung von Transaktionen verstanden. Wenden Sie also Ihr Gelerntes an und erstellen Sie noch heute einen Smart Contract. Übung macht schließlich den Meister!

Einpacken

Es gibt einen Anstieg der Karrieren in der Blockchain-Technologie und Blockchain hat das Gesicht der Technologiebranche für immer enorm verändert. Wenn Sie daran interessiert sind, ein Blockchain-Entwickler zu werden und Smart Contracts und Kettencodes zu erstellen, sehen Sie sich das Advanced-Zertifikatsprogramm von IIIT-B & upGrad in Blockchain-Technologie an

Was sind einige mögliche Anwendungen von Smart Contracts?

Smart Contracts sind Computerprogramme, die Vertragsbedingungen automatisch ausführen. Sie verwenden die Blockchain-Technologie, eine verteilte Datenbank, die sichere, transparente und manipulationssichere Transaktionen ermöglicht. Autovermietung, Hotelreservierungen und Veranstaltungstickets sind nur einige Beispiele dafür, wie Smart Contracts eingesetzt werden können.

Warum gelten Smart Contracts als sicherer als reguläre Verträge?

Da intelligente Verträge in einem Blockchain-Netzwerk implementiert werden, gelten sie als sicherer als herkömmliche Verträge. Eine Blockchain ist eine kryptografisch gesicherte verteilte Datenbank. Das bedeutet, dass die Informationen auf der Blockchain nicht manipuliert oder gehackt werden können. Dadurch ist die Ausführung eines Smart Contracts garantiert präzise und zuverlässig. Sie sind auch öffentlich und überprüfbar, was bedeutet, dass jeder in der Blockchain die Vertragsbedingungen einsehen und überprüfen kann, ob sie ausgeführt werden. Andererseits können Smart Contracts helfen, das Betrugs- und Konfliktrisiko zu senken. Das Fazit ist, dass sie viele Funktionen haben und einfach zu bedienen sind.

Warum werden Smart Contracts immer beliebter?

Einer der wichtigsten Vorteile von Smart Contracts besteht darin, dass sie Unternehmen bei der Automatisierung von Verfahren und der Senkung von Kosten unterstützen können. Beispielsweise kann ein Unternehmen eine intelligente Vereinbarung nutzen, um seine Lieferanten unmittelbar nach erfolgter Lieferung zu bezahlen. Dies würde die Notwendigkeit für das Unternehmen verringern, Zahlungen manuell zu verarbeiten, was sowohl Zeit als auch Geld spart. Es kann auch verwendet werden, um Vertrauen zwischen Unternehmen und ihren Kunden aufzubauen. Beispielsweise könnte ein Smart Contract verwendet werden, um ein sicheres Online-Zahlungssystem aufzubauen. Dies würde es Kunden ermöglichen, Zahlungen zu leisten, ohne befürchten zu müssen, dass ihre persönlichen Daten kompromittiert werden. Nicht zuletzt können damit sowohl für Menschen als auch für Unternehmen digitale Identitäten konstruiert werden. Unternehmen könnten die Identität ihrer Kunden authentifizieren und sie dadurch vor Betrug schützen.