Jeder kann einen intelligenten Vertrag abschließen

Intelligente Verträge erleichtern Ihnen die Geschäftstätigkeit in der neuen dezentralen Wirtschaft. Die meisten intelligenten Verträge werden auf DApp-Plattformen (Decentralized Application) wie Ethereum, Lisk oder Cardano abgeschlossen, und große Technologieunternehmen wie IBM gründen ihre eigenen Unternehmen, um sie aufzubauen. Dies ist sinnvoll, da es viele Unternehmen gibt, die einem Technologieriesen wie IBM lieber vertrauen, ein Produkt für sie zu entwickeln, als selbst eine neue Technologie in Angriff zu nehmen.

Intelligente Vertragsentwicklung kann für Entwickler, die wissen, wie man sie erstellt, zu einer marktfähigen Fähigkeit werden. Ein überraschender Teil intelligenter Verträge ist, dass sie nicht schwer zu erstellen sind. Die DApp-Plattformen und die umgebenden Tools ermöglichen es, sie zu erstellen und auf einfache Weise Ihre eigene Blockchain-Technologie zu erstellen.

Javascript-Entwickler sollten sich nicht von Blockchain einschüchtern lassen. Mit etwas mehr Verständnis wird Blockchain wie die meisten anderen Frameworks, die Sie normalerweise implementieren würden.

Planen eines intelligenten Vertrags

Wenn Sie zum ersten Mal einen intelligenten Vertrag erstellen, sollten Sie entscheiden, was er erleichtern soll.

In diesem Beispiel konzentrieren wir uns auf das Event-Ticketing. Das Ticketing hat große Probleme mit Scalper, die eine Menge Tickets kaufen, und mit Leuten, die gefälschte Tickets verwenden. Die Blockchain-Technologie zeichnet sich in vielen Punkten aus. Zwei davon erleichtern Transaktionen und verfolgen Informationen.

Aus diesem Grund kann eine einfache Codezeile im Vertrag die Wiederverkaufspreise für Tickets begrenzen. Dies verhindert, dass Scalper eine Reihe von Tickets kaufen, da der Verkauf dieser Tickets jetzt unrentabel wäre. Mit intelligenten Verträgen können Sie auch eindeutige Token-Tickets generieren, die besitzerspezifisch sind und nicht gefälscht werden können. Wenn Sie gerne Konzerte, Festivals und Sportveranstaltungen besuchen, können Sie den Reiz sehen.

DApp-Plattformoptionen

Als nächstes müssen Sie auswählen, auf welcher DApp-Plattform der Vertrag aufgebaut werden soll.

Äther ist die größte und etablierteste Plattform. Es hat auch die aktivste Benutzerbasis, und bei jeder Art von Entwicklung ist eine aktive Community zur Beantwortung Ihrer Fragen der Schlüssel zur Fertigstellung Ihres Produkts. Ein Nachteil ist jedoch, dass es seine eigene Sprache, Solidity, verwendet, um Verträge zu schreiben.

Andere Option, Lisk, ist eine auf Javascript basierende DApp-Plattform, sodass Sie keine neue Syntax erhalten. Es hat auch einen eigenen DApp-Store (denken Sie an Google Play oder iTunes Store), in dem Sie Ihre App veröffentlichen können, wenn Sie fertig sind.

Sie können es auch ausprobieren Cardano Das wurde von einem Gründer von Ethereum gebaut und hat ein großes, beeindruckendes Team. Ihr Produkt ist noch neu, aber wenn sie ihr Versprechen erfüllen, Vertragsinformationen von Transaktionsdaten zu trennen, könnte dies in Zukunft die richtige Wahl sein.

Lassen Sie uns zunächst Ethereum oder Lisk als Plattform der Wahl betrachten.


Als Javascript-Entwickler scheint Lisk die logische Entscheidung zu sein, da Sie bereits Erfahrung mit der Sprache haben.

Zählen Sie Ethereum jedoch nicht aus. Die Entwicklergemeinschaft ist so robust, dass Sie jedes Missverständnis von Solidity mit den verfügbaren überschüssigen Informationen ausgleichen können. Ethereum enthält auch das von Consensys erstellte Truffle-Framework, mit dem Sie Ihre intelligente Vertragsanwendung problemlos integrieren und testen können.

Ethereum Smart Contract Frameworks

Aufbau eines intelligenten Vertrags

Solidität klingt einschüchternder als sie tatsächlich ist. Das erste, was Sie an der Sprache bemerken können, ist die bemerkenswerte Ähnlichkeit mit einer JavaScript-Klasse. Es gibt jedoch einige subtile Unterschiede, wie die Anforderung von Semikolons und die Verwendung von Hashing-Funktionen. Das Hashing-Funktionen werden verwendet, um eindeutige Schlüssel zu erstellen und diese anderen Variablen zuzuordnen. In unserem Beispiel würden wir sie verwenden, um eindeutige Tickets zu erstellen und sie den Konten zuzuordnen, die sie kaufen.

Bei der Erstellung Ihres ersten Ethereum-Vertrags empfehlen wir die Verwendung der Entwicklungsumgebung unter remix.solidity.org. Sie erhalten eine interaktive Umgebung, in der Sie Ihren Vertrag bereitstellen und über verschiedene Ethereum-Konten mit ihm interagieren können. Über ein Dropdown-Menü können Sie die Konten wechseln und alle Funktionsaufrufe Ihres Vertrags verwenden, indem Sie die entsprechenden Tasten drücken.

Worauf Sie achten müssen

Das Einzigartige an Solidity ist die Adressierung. Alle Ethereum-Konten haben eindeutige Adressen, und diese Adressen repräsentieren die Parteien, die einem Vertrag zustimmen.

In unserem Beispiel-Ticketing-Vertrag wird demjenigen, der die Veranstaltung erstellt, die Kontoadresse zugeordnet. Wenn jemand ein neues Ticket kauft, wird das Geld direkt an den Veranstalter überwiesen, wodurch der Mittelsmann herausgenommen wird. Der Käufer ruft an, und das Geld wird von seinem Konto abgebucht, anhand seiner Adresse identifiziert und an den Eigentümer weitergeleitet.

Solidity bietet auch eine einzigartige Möglichkeit, einem intelligenten Vertragsanruf Geld zuzuweisen. Jeder Funktionsaufruf enthält eine Meldung. Diese Nachricht kann eindeutige Informationen des Absenders enthalten, einschließlich seiner Kontoadresse sowie einen Ätherwert, den sie an den Vertragseigentümer senden möchten.

Es ist auch erwähnenswert, dass in Solidity nicht alle Vertragsanrufe kostenlos sind. Um Informationen im Vertrag zu ändern, z. Kaufen oder verwenden Sie ein Ticket, das Netzwerk von Maschinen, die die Vertragsabwicklungsgebühr „Gas“ bestätigen. Gas ist im Grunde eine Gebühr, um die Rechenleistung im Netzwerk zu nutzen.

Andere Anrufe, die nur den Vertrag nach Informationen abfragen, z. Das Nachschlagen des Ticketpreises oder das Abrufen der Anzahl der verbleibenden Tickets ist kostenlos. Dies liegt daran, dass keine Informationen zum Vertrag aktualisiert werden. Bei diesen Aktivitäten besteht kein Risiko.

Verbindung zu JavaScript herstellen

Der schwierigste Teil der Arbeit in Solidity ist die Integration Ihres Vertrags in Javascript. Dies geschieht alles mit dem Trüffelgerüst.

Der erste Schritt bei der Integration Ihres Vertrags besteht darin, ihn bereitzustellen und in Ihr Testnetzwerk zu migrieren. Truffle bietet einen eigenen RPC, ein separates Ethereum-Testnetzwerk namens Ganache. Dieser Prozess bietet Ihnen eine JSON-Version des Vertrags, die Sie unter Verwendung der Adressen Ihres Testnetzwerks über Ihre Javascript-Anwendung aufrufen können.

Wenn Sie nach weiteren Informationen zu diesem Vorgang suchen, kann Truffle diese in den Dokumenten und Beispielfeldern unter Truffle hervorragend beschreiben Webseite.

Trüffelkästen

Eine weitere schwierige Aufgabe bei der Erstellung eines intelligenten Vertrags ist die Konzeption. Wenn Sie sich die Blockchain wie einen Webentwickler vorstellen, können Sie sie als Ersatz für die Datenbank betrachten. Anstelle einer zentralen Quelle für alle Ihre Informationen gibt es eine Reihe von Verträgen und Transaktionen, die zu den Informationen führen.

Da eine Blockchain wie eine Datenbank ist, müssen Sie den Vertrag natürlich mit Ihrem Server verbinden. Durch das Erstellen einer API-Schicht für den Vertrag ist der Zugriff auf Informationen von der Clientseite der Anwendung so einfach wie das Erstellen einer AJAX-Anforderung. Es gibt eine gute Beispielbox auf der Trüffel-Website für dieses Setup.

Die Blockchain ähnelt zwar einer Datenbank, ist jedoch nicht vollständig identisch. Es verfügt über ein völlig einzigartiges Protokoll, das Transaktionen, Hashing und Blockerstellung umfasst. Dies ist möglicherweise der schwierigste Teil der Entwicklung von Ethereum. In unserem Ticketing-Beispiel müssen Sie einen Vertragsanruf für den Kauf eines Tickets anders strukturieren als den Anruf für die Verwendung eines Tickets. Die Ethereum Virtual Machine ist bei diesen Anrufen wählerisch.

Dies ist ein weiterer Bereich, in dem die große Ethereum-Entwicklungsgemeinschaft nützlich ist. Es besteht eine gute Chance, dass Ihre Fragen bereits an der Ethereum Stack Exchange beantwortet wurden. Andernfalls sind andere Entwickler mehr als bereit, Ihnen bei Ihrem Vertrag zu helfen.

Fazit

Dieser Artikel sollte Ihnen nicht beibringen, wie Sie mit dem Schreiben von Solidity beginnen. Stattdessen sollten Sie einen Überblick darüber erhalten, was ein intelligenter Vertrag ist und wie Sie ihn in einer Javascript-Anwendung implementieren können. Auf der Blockchain aufzubauen ist für jeden möglich, der sich mit Webentwicklung auskennt.

Die Technologie hinter Blockchain ist möglicherweise schwer zu verstehen, aber wie bei jedem anderen Framework oder Entwicklertool müssen Sie nicht unbedingt wissen, wie es erstellt wurde, um es verwenden zu können. Lassen Sie sich nicht von der mysteriösen Aura der Blockchain davon abhalten, etwas Großartiges zu bauen.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me