I09 Der JavaCryptoCoin komplett

Grundsätzlich funktioniert unser JavaCryptoCoin schon, aber wir wollen noch etwas näher an den realen „Bitcoin“ heran. Dort (und bei anderen Crypto-Währungen auch) wird der Schürfer („miner“) für seine Suche nach einem passenden Hashwert belohnt, in dem er einen Coin für seine Tätigkeit erhält.

Der Quellcode wird dafür im Hauptprogramm erweitert, alle übrigen Quellcodes sind unverändert. Daher zeige ich auf dieser Seite nur den Quellcode des Hauptprogramms und die Konsolenausgabe, die übrigen Sourcen sind im Unterartikel I09b Der JavaCryptoCoin komplett zu finden.

Schaut Euch in der Hauptklasse JavaCryptoCoin die Programmzeilen 287 bis 301 an – hier wird die Belohnung für den Miner realisiert:

Die Konsole gibt ähnliche Ergebnisse zu Beispiel 08 aus, allerdings steigt das Guthaben des Miners mit jeder Transaktion an, so dass das Gesamtguthaben im System auf insgesamt 108 Coins anwächst:

Eine Funktionalität fehlt in unserem Beispiel und dass ist die Verteilfunktion der Blockchain. Ein wichtiges Wesensmerkmal der Blockchain ist es, dass sie nicht an einem Ort oder von einer Institution verwaltet und verwahrt wird, sondern das jeder Teilnehmer („client“) eine Kopie der Blockchain auf seinem Rechner hat. Dadurch ist sichergestellt, dass niemand die Blockchain verändern kann. In der Realität verbinden sich die Clients mit bekannten „Nodes“ und aktualisieren ihre eigene Blockchain, während sich die Nodes ihrerseits mit Nachbar-Nodes synchronisieren.

Damit kommt meine kleine Reihe zur Blockchain und dem JavaCryptoCoin zu ihrem Abschluß.

Alle Quellcodes zur Blockchain findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/I-Blockchain. Alle Programme sind sowohl unter Java 8 als auch unter Java 11 lauffähig.

Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.

Letzte Aktualisierung: 15.06.2019