Ethereum Private Network - Erstellen Sie Ihre eigene Ethereum-Blockchain!

In diesem Tutorial zu Ethereum Private Network erfahren Sie, wie Sie Ihre eigene Ethereum-Blockchain erstellen und eine Transaktion zwischen zwei Konten durchführen.

In der vorherigen Trüffel-Ethereum-Tutorial Sie haben etwas über Truffle Suite gelernt und eine entwickelt Äther DApp. Um eine komplexe Ethereum-Anwendung zu entwickeln, sollten Sie sie in einem privaten Netzwerk ausführen, um zu sehen, wie sie funktioniert, bevor Sie sie bereitstellen. In diesem Tutorial zu Ethereum Private Network erfahren Sie, wie Sie ein Privates Ethereum-Netzwerk und wie man eine Transaktion zwischen zwei Konten macht.

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



Tutorial zum privaten Netzwerk von Ethereum

Dies sind die Themen, die ich in diesem Tutorial behandeln werde:

Was ist Ethereum Private Network?

Ein Ethereum Private Network ist eine vollständig private Blockchain, die vom Main Ethereum-Netzwerk isoliert ist. Das Ethereum Private Network wird hauptsächlich von Organisationen erstellt, um die Leseberechtigungen der Blockchain einzuschränken. Nur die Knoten mit den richtigen Berechtigungen können auf diese Blockchain zugreifen. Die Knoten in diesem Netzwerk sind nicht mit den Hauptnetzwerkknoten verbunden und ihre Reichweite ist nur auf diese private Blockchain beschränkt.

Privat und Öffentlich - Tutorial für privates Netzwerk im Ethereum - Edureka

Warum wird Ethereum Private Network verwendet?

Das Ethereum Private Network wird von Organisationen zum Speichern privater Daten verwendet, die für Personen außerhalb ihrer Organisation nicht sichtbar sein sollten. Das Ethereum Private Network wird auch zum Testen und Experimentieren der Blockchain verwendet, wenn jemand die öffentlichen Testnetzwerke nicht verwenden möchte.

Funktionen von Ethereum Private Network

Wie im vorherigen Abschnitt erwähnt, wird Ethereum Private Network zu Testzwecken verwendet. Aber warum sollte sich jemand die Mühe machen, ein neues Netzwerk zu erstellen, wenn bereits öffentliche Testnetzwerke verfügbar sind? Nun, Ethereum Private Network hat seine eigenen Funktionen, wie unten aufgeführt:

  • Es fungiert als verteilte Datenbank
  • Blockchain im privaten Ethereum-Netzwerk kann private Daten enthalten (da das Netzwerk nicht öffentlich ist)
  • Der Zugriff kann auf Berechtigungen basieren
  • Transaktionen können kostenlos sein
  • Konten können mit Ethern zugewiesen werdenvon uns selbst, was nicht einmal den Kauf virtueller Ether erfordert

Kommen wir zum praktischen Teil dieses Ethereum Private Network-Tutorials.

Ethereum unter Ubuntu installieren

Um ein privates Ethereum-Netzwerk zu erstellen, muss zuerst Ethereum in unserem System installiert sein. In diesem Abschnitt des Ethereum Private Network Tutorial erfahren Sie, wie Sie Ethereum unter Ubuntu installieren.

Führen Sie die folgenden Befehle in einem Terminal aus, um Ethereum zu installieren::

$ sudo apt-get installiere Software-Eigenschaften-allgemein $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Erledigt! Dadurch wird Ethereum auf Ihrem System installiert.

Beginnen wir mit der Erstellung eines privaten Netzwerks.

Demo: Erstellen eines privaten Ethereum-Netzwerks und Durchführen einer Transaktion

In diesem Tutorial zu Ethereum Private Network senden wir EtherVon einem Konto zum anderen brauchen wir also Konten. Lassen Sie uns nun sehen, wie Sie Konten für unsere Blockchain erstellen.

Erstellen von Konten für das private Netzwerk von Ethereum

Lassen Sie uns vor dem Erstellen neuer Konten ein neues Verzeichnis für unseren Arbeitsplatz erstellen. Beziehen Sie sich dazu auf die folgenden Befehle:

$ mkdir private-ethereum $ cd private-ethereum

Für eine Transaktion benötigen wir mindestens zwei Konten: einen Empfänger und einen Absender.

Führen Sie den folgenden Befehl zweimal aus, um zwei Konten zu erstellen:

$ geth --datadir ./datadir Konto neu

Geben Sie die Passphrase für jedes Konto auf Anfrage. Vergessen Sie diese Passphrase nicht!

Sobald diese Befehle erfolgreich ausgeführt wurden, werden zwei Konten erstellt und die Kontoadresse auf dem Bildschirm angezeigt.

Speichern Sie diese Adressen irgendwo, da wir sie weiter verwenden werden.

Genesis-Datei erstellen

Eine Genesis-Datei enthält die Eigenschaften, die die Blockchain definieren. Eine Genesis-Datei ist der Startpunkt der Blockchain. Daher muss die Genesis-Datei erstellt werden, um eine Blockchain zu erstellen. Jetzt erstellen wir die GenesisDatei.

Erstellen Sie zunächst eine Datei mit dem Namen genesis.json

$ nano genesis.json

Kopieren Sie nun den folgenden Code und fügen Sie ihn in diese Datei ein:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'Schwierigkeitsgrad': '400', 'gasLimit': ' 2000000 ',' zuweisen ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {000000'

Hinweis: Ersetzen Sie im obigen Code die Adresse unter zuweisen Abschnitt mit der Adresse der Konten, die Sie im vorherigen Schritt erstellt haben.

Speichern Sie es und beenden Sie es.

Lassen Sie mich den Inhalt der Genesis-Datei kurz erläutern:

chainId - Dies ist die Kettenidentifikationsnummer, mit der Blockchains unterschieden werden
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - Diese Eigenschaften beziehen sich auf Kettengabelung und Versionierung. Wir brauchen diese nicht für unser Tutorial, also setzen wir sie auf 0.
Schwierigkeit - Diese Zahl entscheidet, wie schwierig es sein wird, die Blöcke abzubauen. Für private Netzwerke empfiehlt es sich, eine niedrigere Zahl festzulegen, da Sie damit Blöcke schnell abbauen können, was zu schnellen Transaktionen führt.
gasLimit - Diese Zahl gibt die Gesamtmenge an Gas an, die in jedem Block verwendet werden kann. Wir möchten nicht, dass unser Netzwerk an seine Grenzen stößt, deshalb haben wir dieses Hoch gesetzt.
zuweisen - Dieser Teil wird verwendet, um bereits erstellten Konten Ether zuzuweisen.

Die Genesis-Datei ist fertig. Jetzt ist es Zeit, die Blockchain zu starten.

Datenverzeichnis instanziieren

Bevor wir die Blockchain starten, müssen wir das Datenverzeichnis instanziieren. Das Datenverzeichnis ist das Verzeichnis, in dem die Daten zur Blockchain gespeichert sind. Führen Sie den folgenden Befehl aus, um das Datenverzeichnis zu instanziieren:

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

Bei erfolgreicher Instanziierung sollte die folgende Ausgabe angezeigt werden:

Nachdem das Datenverzeichnis instanziiert wurde, können wir jetzt die Blockchain starten.

Starten von Ethereum Private Blockchain

Führen Sie den folgenden Befehl aus, um die Blockchain zu starten:

c ++ Merge-Sortieralgorithmus
$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Erledigt! Ihre private Ethereum-Blockchain ist in Betrieb.

Im obigen Befehl senden wir alle Protokolle in einer separaten Datei namens Eth.log . Geth erstellt automatisch eine neue Datei, wenn sie nicht gefunden wird.

Die Ausgabe dieses Codes sollte ungefähr so ​​aussehen:

Jetzt sind wir in die eingetreten geth Konsole Hier können wir Befehle für unsere Blockchain ausführen.

Protokolle lesen

Im vorherigen Abschnitt habe ich erwähnt, dass wir die Protokolle in einer anderen Datei speichern. In diesem Abschnitt werde ich Ihnen erklären, wie Sie die Protokolle aus dieser Datei lesen.

Wir werden die Protokolle von einem separaten Terminal lesen. Öffnen Sie also zuerst ein neues Terminal. Zuerst,Wechseln Sie zu Privat-Ethereum Verzeichnis und führen Sie dann den folgenden Befehl aus, um die Protokolle zu lesen:

$ tail -f Eth.log

Sie können jetzt die Protokolle im Terminal sehen. Diese Protokolle werden dynamisch aktualisiert, wenn in der Blockchain Aktivitäten stattfinden.

Konten in privates Netzwerk importieren

Sie erinnern sich vielleicht, dass wir zwei Konten für Transaktionen erstellt haben. Wir haben diese Konten jedoch nicht zu unserem Netzwerk hinzugefügt. In diesem Abschnitt des Tutorials zu Ethereum Private Network werde ich Ihnen erklären, wie Sie die Konten importieren.

Wenn wir ein Konto erstellen, werden alle Details des Kontos in a gespeichert koordinierte Weltzeit Datei in dem bei der Kontoerstellung genannten Verzeichnis (Pfad: ./datadir/keystore ). Um die Konten zu importieren, müssen wir diese Dateien kopieren und in die einfügen Keystore Verzeichnis unter dem Datenverzeichnis(Pfad: ./myDataDir/keystore )

Das ist alles! Die Konten werden importiert. Einfach, nicht wahr? Um den Import zu überprüfen, führen wir den folgenden Befehl in der aus geth Konsole.

> eth.accounts

Daraufhin wird eine Liste aller verfügbaren Konten angezeigt.

Um den Kontostand dieser Konten zu überprüfen, verwenden wir den folgenden Befehl:

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

Wir sind bereit für alles, was für eine Transaktion erforderlich ist. Warum warten? Machen wir das!

Eine Transaktion durchführen

In diesem Tutorial zu Ethereum Private Network werden wir einige Ether sendenvon einem Konto zum anderen.

Die Syntax zum Senden von Ethern lautet wie folgt:

> eth.sendTransaction ({von: ”Adresse” bis: ”Adresse”, Wert: web3.toWei (Menge, 'Äther')})

Wir senden 1000 Ether von Konto 1 nach Konto 2 mit dem folgenden Befehl:

> eth.sendTransaction ({von: eth.accounts [0] bis: eth.accounts [1], Wert: web3.toWei (1000, 'ether')})

Hat nicht funktioniert? Mach dir keine Sorgen. Hat auch bei mir nicht funktioniert. Dies liegt daran, dass das Konto standardmäßig gesperrt ist und keine Transaktionen zulässt.

Zuerst müssen wir das Absenderkonto entsperren. Erinnern Sie sich an die Passphrase, die Sie beim Erstellen des Kontos verwendet haben? Nun, Sie müssen, weil Sie das verwenden müssen, um das Konto zu entsperren. Wir werden das Konto mit dem folgenden Befehl entsperren:

personal.unlockAccount (eth.accounts [0], '')

Jetzt werden wir Äther sendenerfolgreich:

> eth.sendTransaction ({von: eth.accounts [0] bis: eth.accounts [1], Wert: web3.toWei (1000, 'ether')})

Dies sollte eine Transaktions-ID zurückgeben.

Erledigt! Sie haben erfolgreich eine Transaktion durchgeführt!

Um die Transaktion zu überprüfen, überprüfen wir den Kontostand auf beiden Konten.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

Yay! Wir können das 1000 Äther sehenwurden von einem Konto auf ein anderes gesendet!

Herzliche Glückwünsche! Sie haben ein privates Ethereum-Netzwerk erstellt und eine Transaktion durchgeführt. Ich hoffe, dieses Tutorial zu Ethereum Private Network war informativ und hat Ihnen geholfen, das Ethereum Private Network besser zu verstehen. Versuchen Sie nun, mit dem neu erstellten privaten Netzwerk zu experimentieren.

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.