BitcoinJ 07 Zeige Transaktionen

Im Beispiel BitcoinJ 06 Erzeuge eine Transaktion haben wir eine echte Bitcoin-Transaktion erzeugt und sie an die Blockchain geschickt. Unser Wallet hat die Transaktion als „von uns erzeugt“ gespeichert und überwacht nun die Blockchain auf Informationen dazu. In diesem Artikel zeige ich Euch, wie einfach Ihr die Transaktionsdaten aus dem Wallet auslesen und anzeigen könnt, wobei wir beim Start des Programms „online“ gehen und das Wallet direkt aktualisieren, sodass die spätere Ausgabe den aktuellsten Stand hat.

Auch hier schreibe ich die Ausgaben in die Konsole in zwei separate Fenster und parallel in 2 separate Dateien mit den Dateinamen BitcoinJ07Transaction_Output_xxx.txt und BitcoinJ07Transaction_Logfile_xxx.txt, wobei „xxx“ für das aktuelle Datum und die Uhrzeit steht; so könnt Ihr die Ausgaben später ganz in Ruhe studieren. Die hierfür notwendige Klasse RedirectedFrame.java findet Ihr in meinem GitHub-Archiv.

Zur Nutzung benötigt Ihr diverse Bibliotheken zur Nutzung von BitcoinJ – ladet Euch diese aus dem separaten Github-Archiv (https://github.com/java-crypto/BitcoinJ_Libraries) herunter und bindet Sie über Eure Entwicklungsumgebung ein.

Dieses Programm ist ebenfalls für den Regtest-Modus vorbereitet, die Voreinstellung verweist auf das Bitcoin Testnet.

Nach der Aktualisierung werden die Daten ausgelesen und das Programm beendet sich nach dem Klick auf den OK-Button, schauen wir uns daher das Output-Logfile an.

Eine etwas andere Form der Darstellung der Transaktionen findet Ihr im Programm BitcoinJ 07 Zeige Transaktionen Tab – dort werden die wichtigsten Daten in tabellarischer Form dargestellt.

Hier der Quellcode des Programms:

Den Quellcode der Klasse „RedirectFrame.java“ findet Ihr in meinem Github-Archiv oder im vorigen Beispiel.

Alle Quellcodes zum Bitcoin findet Ihr zum Download in meinem Github-Repository BitcoinJ, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/BitcoinJ. Alle Programme sind unter Java 11 lauffähig (vermutlich auch unter Java 8) und wurden mit intelliJ IDEA entwickelt, welches für dieses Programm aber nicht notwendig ist.

Noch ein Wort zum Thema „Lizenz“: Die von mir erstellten Beispiele selber stehen unter der „Unlicense“-Lizenz, allerdings werden zur Laufzeit diverse Bibliotheken eingebunden, welche zum Teil ganz eigene Lizenzen mitbringen. Darauf kann ich in meinen Lizenzhinweisen nicht hinweisen.

Letzte Bearbeitung: 21.03.2020