Blockchain Programmierung Ethereum –World Tutorial für Ethereum





Blockchain Programmierung Ethereum –World Tutorial für Ethereum


Wie starte ich mit der BlockchainProgrammierung? Bei dem ganzen Hype um diese Technologie interessiert mich natürlich, wie man als Entwickler konkret programmieren kann. Hierzu gibt es nun dieses Tutorial, das Schritt für Schritt zu einer Blockchain Hello World Anwendung führt.
Auf der Suche nach einer passenden Einführung zum Blockchain programmieren canister ich auf ein Instructional exercise auf Udemy gestoßen: Ethereum For Learners: Construct A Welcome World Blockchain Application . Wie der Titel schon verdeutlicht, ist der Kurs auf Englisch. In 14 Lektionen gibt das Instructional exercise eine gute Einführung in bite the dust Blockchain Programmierung. Insgesamt dauert der Kurs grob 1 Stunde.
Angelehnt an dieses englische Tutorial folgt hier nun eine Zusammenfassung der notwendigen Schritte auf Deutsch, um die erste eigene Blockchain Applikation zu programmieren:

1. Installieren des Go Ethereum Clients (Geth)

Der Go Ethereum Customer (Geth) dient dem Zugriff auf pass on Blockchain. Er macht deinen PC zu einer eigenständigen Hub in der Ethereum Blockchain und verbindet zu anderen Hubs in diesem Netzwerk.
Der Customer ist in verschiedenen Programmiersprachen geschrieben worden, wie C++ oder Python. Der Go-Customer ist hier der populärste.

Lade dir Geth hier herunter und installiere es:
https://geth.ethereum.org/downloads/

Ich habe das Instructional exercise, ebenso wie im Udemy-Kurs, Das war's auch schon! Jetzt bist du in der Lage, eigene Savvy Contracts zu erstellen. Mir cap das Instructional exercise geholfen, nook Einstieg in kick the bucket BlockchainProgrammierung zu finden. Vorher wusste ich nicht, wie ich anfangen kann. Kicks the bucket war religious woman ein Anfang. Ich hoffe sehr, dass ich dadurch auch dir zu einem guten Einstieg helfen konnte. 

Geth versucht, zu anderen Hubs im Ethereum-Netzwerk eine Verbindung herzustellen. Dazu nutzt es nook UDP Port 30303. Geth startet als Prozess im Hintergrund. Es ist nur möglich, einen Prozess zur gleichen Zeit zu starten. Sonst gibt es ein Blunder. 

Geth generiert außerdem eine IPC-Datei, pass on wir noch benötigen werden.

2. Installieren des EthereumJS Test RPC

In diesem Instructional exercise möchten wir nicht tatsächlich eine Verbindung zur realen Ethereum-Blockchain herstellen. Wir simulieren das Framework nur (das Ethereum Protokoll, der MiningProzess). Hier geht das Mining sehr schnell und ist für uns mit keinen Kosten verbunden. Für kick the bucket Entwicklung und das Testen ist es sinnvoll, sanctum EthereumJS Test RPC zu nutzen. Dieser ist im Hub Bundle Chief enthalten.

Lade dir Node.js herunter und installiere es:
https://nodejs.org/de/download/

Starte eine Kommandozeile und führe den Befehl aus:
npm install -g ethereumjs-testrpc@beta
Hierbei werden alle notwendigen Softwarepakete installiert.

Falls Fehler auftauchen, probiere diesen Befehl:
npm install -g ethereumjs-testrpc
Update: Ein Leser hat an dieser Stelle eine Fehlermeldung erhalten („rollbackFailedOptional“). Das lag an der Firewall. Diese kann entweder etwas „gelockert werden“. Ansonsten könnten diese Lösungsvorschläge auf Stackoverflow helfen. 

3. Eigenes privates Netzwerk erstellen

Wir initialisieren unsere eigene Blockchain. Dazu benötigen wir den sogenannten Block 0, den wir in der Genesis.json-Datei definieren.

Lege die Genesis.json datei im Pfad C:\Users\<deinUser>\AppData\Roaming\Ethereum an.
Kopiere folgendes in die Datei:

{
„difficulty“ : „0x20000“,
„extraData“ : „“,
„gasLimit“ : „0x8000000“,
„alloc“: {},
„config“: {
„chainId“: 15,
„homesteadBlock“: 0,
„eip155Block“: 0,
„eip158Block“: 0
}
}

Initialisiere die Blockchain über eine Kommandozeile in deinem Ethereum-Pfad:
geth –datadir=./chaindata/ init genesis.json

4. MIST Wallet installieren und starten

Der MIST Wallet ist eine Art Browser. Im Grunde ist es eine Electron App, die in HTML und JavaScript geschrieben wurde. MIST enthält eine Geth-Node. Dieser startet automatisch, wenn man MIST startet. Über MIST erhältst du in grafisch ansprechender Form Zugriff auf die Blockchain.

Lade dir MIST herunter und installiere es:
https://github.com/ethereum/mist/releases
Achtung: Nicht das Ethereum Wallet wählen, sondern MIST.
Für unser Tutorial wollen wir MIST auf unserer privaten Blockchain laufen lassen. Wie schon erklärt ist der Grund, dass man zu Entwicklungs- und Testzwecken die Pseudo-Real-Umgebung wählt. Dadurch vermeiden wir den ganzen Aufwand, der bei der richtigen Ethereum-Blockchain einhergehen würde.

Starte die private Blockchain in der Kommandozeile in deinem Ethereum Pfad:
geth –datadir=./chaindata

Starte die installierte MIST Wallet und wähle „Launch Application“
Das „Private-Net“ in der Ecke rechts oben zeigt, dass wir mit dem privaten Netzwerk verbunden sind.

Erstelle einen Account

Verbinde dich zu dem Account

5. Minen von Ether

Starte eine zweie Kommandozeile in deinem Ethereum-Pfad und führe den Befehl aus:
geth attach
Bei einem Fehler muss man noch unsere anfangs erwähnte IPC-Datei angeben:
geth attach ipc:/path/to/geth.ipc
In meinem Fall ist es
geth attach ipc://./pipe/geth.ipc

Du findest den Pfad im ersten Kommandozeile-Fenster:
Du musst nur die \\ durch ein / ersetzen.

Nachfolgend ein Screenshot, wie es bei mir geklappt hat:

Starte den Miner im zweiten Kommandozeile-Fenster:
miner.start(1);
‚null‘ ist der richtige return-Wert.

In der ersten Kommandozeile sieht man jetzt, wie das Minen abläuft:

In MIST sieht man, wie in dem erstellten und verbundenen Account das Ether-Guthaben steigt:

Zum Stoppen des Mining-Prozess gebe ein (im zweiten Kommandozeilen-Fenster):
miner.stop();

6. Installieren des Hello World Smart Contracts

Gehe in MIST auf „Contracts“ und wähle „Deploy new contract“:

Gebe folgenden Quellcode ein und wähle ‚Hello World‘ unter ‚Select contract  to deploy‘:
pragma solidity ^0.4.8;
contract HelloWorld {
uint256 counter = 0;
function increase() public{
counter++;
}
function decrease() public{
counter–;
}
function getCounter() public constant returns(uint256) {
return counter;
}
}

Klicke auf ‚Deploy‘, gebe dein Passwort zum erstellen des Contracts ein und klicke auf ‚Send Transaction‘:

Jetzt muss der Contract noch vom Netzwerk bestätigt werden.
Gebe dazu im zweiten Kommandozeilen-Fenster ein:
miner.start(3);
Jetzt wurde der Contract bestätigt:
Stoppe das Minen über miner.stop();

Nun kann man mit dem Hello World Contract rumspielen:
Geh zum Contract, wähle nach beliebem ‚increase‘ oder ‚decrease‘, gebe dein Password ein und sende die Transaction.

Um die jeweiligen Transaktionen zu bestätigen, muss der Miner wieder laufen:
miner.start(3);
Hier siehst du, wie Transaktion bestätigt wurde (counter increase):
Jetzt kannst du das Minen wieder stoppen (miner.stop();)


Das war's auch schon! Jetzt bist du in der Lage, eigene Savvy Contracts zu erstellen. Mir cap das Instructional exercise geholfen, nook Einstieg in kick the bucket BlockchainProgrammierung zu finden. Vorher wusste ich nicht, wie ich anfangen kann. Kicks the bucket war religious woman ein Anfang. Ich hoffe sehr, dass ich dadurch auch dir zu einem guten Einstieg helfen konnte. 

Schreibe gerne in pass on Kommentare, wenn Fragen auftauchen oder auch gerne Input. Teile dieses Instructional exercise, damit noch viele einen guten Begin in kick the bucket Blockchain Programmierung erhalten können.
Previous
Next Post »

INSTALL ADVERTISING IN APPLICATIONS USING ADMOB GOOGLE

In this INSTALL ADVERTISING IN APPLICATIONS USING ADMOB GOOGLE , I am demonstrating how to show promotions in your iOS Applications utilizin...