Ethereum Smart Contract - Wie führe ich einen Smart Contract aus?



In diesem Tutorial zu Ethereum Smart Contract erfahren Sie, wie Sie einen Smart Contract mithilfe von Truffle und Ethereum Private Network erstellen, bereitstellen und ausführen.

Der Hauptgrund für die Blockchain-Technologie, ihren Platz unter den Top-Technologien einzunehmen, liegt in ihrer Dezentralität. Während der Hauptzweck von Blockchain darin bestand, Transaktionsaufzeichnungen ohne eine zentrale Behörde zu verwalten, um dies zu automatisieren, Intelligente Verträge wurden vorgestellt. Aber was danach ? In diesem Tutorial zu Ethereum Smart Contract erfahren Sie, wie Sie es verwenden Trüffelethereum und Privates Netzwerk von Ethereum einen intelligenten Vertrag ausführen.

Interessiert an Ethereum Development? Schauen Sie sich dieses Live an .





In diesem Tutorial zu Ethereum Smart Contract werden die folgenden Themen behandelt:

  1. Anwendungsfall: Intelligente Verträge im Versicherungsprozess
  2. Vorteile intelligenter Verträge
  3. Voraussetzungen installieren
  4. Genesis Block konfigurieren
  5. Ausführen des privaten Ethereum-Netzwerks
  6. Ethereum-Konto erstellen
  7. Erstellen eines intelligenten Vertrags für Ethereum
  8. Ausführen des Ethereum Smart Contract

Anwendungsfall: Intelligente Verträge im Versicherungsprozess

Blockchain folgt 'No Central Authority' und aus diesem Grund wurden Smart Contracts eingeführt. Aber haben Sie sich jemals gefragt, wie ein intelligenter Vertrag verwendet werden kann? Nun, in diesem Abschnitt von Ethereum Smart Contract werde ich einen Anwendungsfall von Smart Contract im Versicherungsprozess erläutern.



Betrachten wir ein Beispiel für eine Flugverspätungsversicherung. Angenommen, Sie möchten einen Flug von Quelle A nach Ziel C nehmen, haben aber keinen direkten Flug. Sie entscheiden sich also für einen Anschlussflug (über B). Jetzt wird Ihre Route von A nach B und dann von B nach C sein, wobei B der Flughafen ist, an dem Sie die Flüge ändern werden. Leider haben Sie nicht viel Zeit zwischen den Flügen von A nach B und von B nach C. Wenn sich der Flug von A nach B also zufällig verzögert, werden Sie den Flug von B nach C verpassen Um dies zu vermeiden, schließen Sie eine Flugverspätungsversicherung ab, um sich vor schweren Verlusten zu schützen.

Flugverspätungsversicherung - Edureka

Wenn Ihr Flug von A nach B verspätet ist (wodurch Sie den Flug von B nach C verpassen), erhalten Sie den Versicherungsbetrag. Normalerweise funktioniert dies, wenn Ihr Flug verspätet ist, Sie die Versicherung in Anspruch nehmen. Dann wird eine Person dort die Versicherung überprüfen und genehmigen und schließlich erhalten Sie Ihren Versicherungsbetrag. Dies ist jedoch ein ziemlich langwieriger Prozess.



Wie können Sie Smart Contracts verwenden, um den Versicherungsprozess zu verbessern?

Wenn es um Finanztransaktionen geht und insbesondere wenn Sie Geld bekommen, 'je schneller, desto besser', nicht wahr? Lassen Sie uns sehen, wie intelligente Verträge den Versicherungsprozess beschleunigen können. Smart Contracts sind digitale Verträge, die automatisch ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind. Es kann ein intelligenter Vertrag abgeschlossen werden, um den Versicherungsbetrag an Personen auszuzahlen, die sich für eine Flugverspätungsversicherung entschieden haben, wenn sich der Flug verspätet. Wenn sich der Flug verspätet und diese Verspätung vom System erfasst wird, wird die Versicherung sofort ausgezahlt.

Hallo! Versicherungsbetrag in wenigen Sekunden bezahlt. So einfach und schnell machen Smart Contracts einen Prozess möglich.

Vorteile intelligenter Verträge

Sie haben im obigen Beispiel gesehen, wie Smart Contract Finanzprozesse beschleunigen kann. Neben schnellen Transaktionen bieten Smart Contracts weitere Vorteile. Hier liste ich einige andere Vorteile der Verwendung eines intelligenten Vertrags auf:

  • Automatisch: Alle laufenden Schritte werden bei Smart Contracts automatisch ausgeführt
  • Keine Zwischenprodukte: Wenn Sie Smart Contracts verwenden, benötigen Sie keine Zwischenstufe, um die Arbeit zu erledigen, da alles von Smart Contracts erledigt wird
  • Kosteneffizient: Durch die Verwendung von Smart Contracts sparen Sie Geld bei Transaktionsgebühren, die von Banken erhoben werden, und bei Servicegebühren, die von Zwischenhändlern erhoben werden (falls vorhanden).

Nachdem wir nun wissen, wie Smart Contracts verwendet werden können, um die Welt schneller zu machen, wollen wir uns mit dem praktischen Teil dieses Ethereum Smart Contract-Tutorials befassen.

Voraussetzungen installieren

Für dieses Tutorial zu Ethereum Smart Contract benötigen wir 5 wichtige Anwendungen:

  • NodeJS
  • NPM
  • Äther
  • Trüffel
  • Solidity Compiler

NodeJS installieren

NodeJS ist ein JavaScript-Framework, mit dem Serveranwendungen erstellt werden. Da wir ein privates Netzwerk verwenden, erleichtert NodeJS das Erstellen der Netzwerkanwendung.

Führen Sie zum Installieren von Nodejs den folgenden Befehl in Ihrem Terminal aus:

$ sudo apt-get install nodejs

NPM installieren

NPM steht für Node Package Manager und wird zum Ausführen von Nodejs-Anwendungen verwendet.

Führen Sie zum Installieren von NPM den folgenden Befehl in Ihrem Terminal aus:

$ sudo apt-get install npm

Ethereum installieren

Äther ist eine Open-Source- und öffentliche Blockchain-basierte, verteilte Computerplattform zum Erstellen dezentraler Anwendungen.

Führen Sie zum Installieren von Ethereum den folgenden Befehl in Ihrem Terminal aus:

wie man in Java nach Palindrom sucht
$ sudo apt-get installiere Software-Eigenschaften-allgemein $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Trüffel installieren

Truffle ist eine Entwicklungsumgebung, ein Test-Framework und eine Asset-Pipeline für Ethereum Blokchains.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um Truffle zu installieren:

$ npm installiere -g Trüffel

Solidity Compiler installieren

Solidity ist eine Programmiersprache zum Schreiben von Smart Contracts. Um intelligente Verträge auf unserem System ausführen zu können, müssen wir den Solidity Compiler installieren.

Führen Sie zum Installieren des Solidity Compilers den folgenden Befehl in Ihrem Terminal aus:

$ sudo npm install -g solc

Genesis Block konfigurieren

Ein Genesis-Block ist der Startpunkt einer Blockchain, und wir benötigen eine Genesis-Datei, um die Blockchain zu starten. In diesem Abschnitt von Ethereum Smart Contract schreiben wir eine Genesis-Datei und konfigurieren sie so, dass wir Smart Contracts ausführen können.

Lassen Sie uns zuerst ein neues Verzeichnis erstellen und dann in diesem Verzeichnis das erstellen Genesis-Datei

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

Geben Sie nun die folgenden Zeilen in das Feld ein genesis.json Datei:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'schwierigkeit': '200' 'gasLimit': '99999999999999'}

Speichern Sie diese und beenden Sie.

Ausführen des privaten Ethereum-Netzwerks

In diesem Tutorial zu Etheruem Smart Contract stellen wir einen Ethereum Smart Contract in einem privaten Netzwerk bereit. Um dieses Netzwerk zu starten, verwenden wir den folgenden Befehl:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, persönlich, Bergmann'

Bevor ich fortfahre, möchte ich einige wichtige Flags erläutern, die im obigen Befehl verwendet werden:

Datadir: Das Verzeichnis, in dem die Daten zur Blockchain gespeichert sind.

rpc: Aktiviert den HTTP-RPC-Server.

rpcport und rpcaddr werden verwendet, um den Port bzw. die Adresse des Netzwerks festzulegen.

rpcapi: Ermöglicht die Interaktion mit dem Ethereum-Netzwerk mithilfe verschiedener APIs.

Verbinden von Geth mit Ethereum Private Blockchain

Die Geth-Konsole ist die Konsole, von der aus wir mit der Ethereum Private Blockchain interagieren können. Um Geth mit der Ethereum Private Blockchain zu verbinden, öffnen Sie ein neues Terminal und führen Sie den folgenden Befehl aus:

$ geth attach http://127.0.0.1:8543

Jetzt befinden wir uns in der Geth-Konsole, wo wir Befehle ausführen können, um mit der Blockchain zu interagieren.

Ethereum-Konto erstellen

Für jede Transaktion benötigen wir ein Konto. In diesem Abschnitt des Tutorial zu Ethereum Smart Contract erfahren Sie, wie Sie ein neues Ethereum-Konto über die Geth-Konsole erstellen.

Wie installiere ich PHP unter Windows 10?

Nach den bisherigen Schritten befinden wir uns bereits in der Geth-Konsole. Führen Sie den folgenden Befehl in der Geth-Konsole aus, um ein neues Konto zu erstellen:

> personal.newAccount ('seedphrase')

Ersetze das 'Samenphrase”Mit dem Passwort, das Sie für dieses Konto festlegen möchten.

Wir haben ein neues Konto erstellt, aber dieses Konto enthält keine Ether. Wir brauchenEther, um jede Transaktion durchzuführen und Ether zu erhaltenNach unserem Konto werden wir mit dem Abbau von Ethern beginnen. Um mit dem Mining zu beginnen, müssen wir zuerst das Konto entsperren. Lassen Sie uns das Konto entsperren und mit dem Mining beginnen.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> mineral.start ()

Während der Bergbau weitergeht, einigeEtherwird auf dieses Konto eingezahlt.

Hinweis : Diese Ether sind Dummy-Ether und haben keinen realen Wert.

Um den Kontostand zu überprüfenEtherIn dem Konto führen wir den folgenden Befehl aus:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

Wenn Sie diesen Befehl in regelmäßigen Abständen ausführen, werden Sie feststellen, dass dieEtherwerden aufgrund des Bergbaus erhöht.

Führen Sie den folgenden Befehl aus, um das Mining zu beenden:

> Miner.stop ()

Erstellen eines intelligenten Vertrags für Ethereum

Trüffelprojekt erstellen

Nachdem wir unsere private Blockchain fertig haben, werden wir sehen, wie Sie mit Truffle einen Ethereum Smart Contract erstellen. Für dieses Tutorial erstellen wir einen einfachen Ethereum Smart Contract „Hello World“.

Lassen Sie uns zunächst ein neues Verzeichnis zum Speichern des Trüffelprojekts erstellen. Und dann werden wir in diesem Verzeichnis ein neues Trüffelprojekt erstellen. Öffnen Sie ein neues Terminal und führen Sie die folgenden Befehle aus:

$ mkdir Trüffel $ CD Trüffel $ Trüffel init

Das Trüffel init Der Befehl erstellt alle erforderlichen Dateien, die für ein Trüffelprojekt erforderlich sind.

Nachdem wir nun alles bereit haben, um einen Ethereum-Smart-Vertrag bereitzustellen, können wir einen Smart-Vertrag für „Hello World“ schreiben.

Schreiben eines Smart-Vertrags für „Hello World“

Alle Verträge sollten in das Verzeichnis „Verträge“ geschrieben werden. Wir werden in dieses Verzeichnis wechseln und einen Vertrag mit dem Namen 'HelloWorld.sol' erstellen und die folgenden Zeilen in diese Datei einfügen:

Pragma Solidität ^ 0.4.15 Vertrag HelloWorld {Zeichenfolge öffentliche Nachrichtenfunktion Hello () public {message = 'Hello World!' }}

Das ist es! Dieser Smart Contract kann jedoch nicht alleine ausgeführt werden. Wir müssen einige Konfigurationen dafür vornehmen.

Trüffelmigration konfigurieren

Um unseren Smart Contract zu migrieren, müssen wir eine Datei in die 'Migrationen' Verzeichnis in der 'Trüffel' Verzeichnis. In diesem Verzeichnis fügen wir eine Datei mit dem Namen hinzu '2_deploy_contracts.js' mit folgenden Inhalten:

var HelloWorld = artefakts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Speichern und schließen.

Um Trüffel in unserem Netzwerk laufen zu lassen, müssen wir die “ truffle.js ”Datei in der 'Trüffel' Verzeichnis . Öffnen Sie diese Datei und nehmen Sie folgende Einträge vor:

module.exports = {rpc: {host: 'localhost', port: 8543}, netzwerke: {development: {host: 'localhost', port: 8543, network_id: '*', von: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Hinweis: Ersetze das 'von' Adresse mit der Adresse des Kontos, das Sie im vorherigen Schritt erstellt haben.

Ausführen des Ethereum Smart Contract

In diesem letzten Abschnitt des Tutorials zu Ethereum Smart Contract erfahren Sie, wie Sie unseren Smart Contract „Hello World“ in unserem privaten Ethereum-Netzwerk bereitstellen.

Kompilieren und Bereitstellen von Smart Contract

Bevor wir unseren Smart Contract ausführen können, müssen wir ihn zunächst kompilieren und in unserem privaten Ethereum-Netzwerk bereitstellen. Wir werden dies mit den folgenden Befehlen tun:

$ Trüffel kompilieren

Jetzt müssen wir unser Konto entsperren und mit dem Mining beginnen. Kehren Sie mit der Geth-Konsole zum Terminal zurück und führen Sie den folgenden Befehl aus:

> personal.unlockAccount (web3.eth.coinbase) > mineral.start ()

und dann zurück zum Terminal, das hat 'Trüffel' als aktuelles Arbeitsverzeichnis undLaufden folgenden Befehl:

$ Trüffel migrieren

Warten Sie, bis die Bereitstellung abgeschlossen ist.

Ausführen eines intelligenten Vertrags für eine private Ethereum-Blockchain

Um den Smart-Vertrag „Hello World“ auszuführen, müssen wir in die Trüffelkonsole eintreten. Führen Sie dazu den folgenden Befehl aus:

$ Trüffelkonsole

Sie befinden sich jetzt in der Trüffelkonsole. Führen Sie den folgenden Befehl aus, um den Smart Contract auszuführen:

> var first_contract> HelloWorld.deployed (). then (function (instance) {first_contract = instance})> dApp.message.call ()

Herzliche Glückwünsche! Sie haben Ihren ersten Ethereum Smart-Vertrag erstellt und ausgeführt. Ich hoffe, dieses Tutorial zu Ethereum Smart Contract war informativ und hat Ihnen geholfen, die Ausführung eines Ethereum Smart Contract zu verstehen. Versuchen Sie nun, andere Smart Contracts zu schreiben und auszuführen.

Hast du eine Frage an uns? Bitte poste es auf und wir werden uns bei Ihnen melden.

Wenn Sie Blockchain lernen und eine Karriere in Blockchain-Technologien aufbauen möchten, lesen Sie unsere Dies beinhaltet ein von Lehrern geführtes Live-Training und praktische Projekterfahrung. Diese Schulung hilft Ihnen dabei, Blockchain umfassend zu verstehen und das Thema zu beherrschen.