I06 Nutzung von Transaktionen

Die Blockchain in 9 Schritten – Teil 6: Nutzung von Transaktionen

Wir nähern uns unaufhaltsam dem eigenen Geld und da wir nun eine elektronische Geldbörse erstellen können, werden wir sie auch befüllen und Teile davon in eine zweite Geldbörse transferieren. Für den Transfer benötigen wir eine weitere Klasse mit dem Namen „transaction“ (oder auf Deutsch: Transaktion).

Die Klasse wird in den folgenden Teilen noch stark erweitert, enthält aber schon alle Basisfelder für unsere Überweisung. Wie bei einer klassischen Banküberweisung erfassen wir das Auftraggeber Konto („sender“) und das Empfängerkonto („recipient“) sowie den Betrag („value“). Bei einer Online-Überweisung käme noch eine Transaktionsnummer („TAN“) hinzu, hier nutzen wir stilgerecht eine elektronische Unterschrift („signature“).

Damit wir die digitale Signatur auch nutzen können, enthält die Klasse noch 2 Methoden für die Erzeugung und Überprüfung der Unterschrift:

Die Transaktionsklasse wird im Hauptprogramm in Verbindung mit der Wallet-Klasse benutzt:

Die Erzeugung und Überprüfung der Signaturen erfolgt ausgelagert in der StringUtil-Klasse:

Das Hauptprogramm nutzt wieder nicht die eingebaute Blockchain, sondern erstellt lediglich zwei Geldbörsen (Hinweis: unterschiedliche Schlüsselpaare!)  und transferiert Münzen („coins“) zwischen den beiden Geldbörsen. Die Konsolenausgabe ist wieder schmucklos knapp:

Der Vollständigkeit halber hier noch der Quellcode der Block-Klasse:

Weiter geht es mit Teil 7: I07 Vorbereitung des JavaCryptoCoin.

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: 29.05.2019