Im GitHub-Archiv zur BitcoinJ-Bibliothek findet Ihr auch einen Unterordner „wallettemplate“, der eine funktionsfähige Oberfläche für ein Wallet auf Basis JavaFx bietet (Link: https://github.com/bitcoinj/bitcoinj/tree/master/wallettemplate/src/main + folgende). Eine kurze Beschreibung dazu findet Ihr auch auf der Beschreibungsseite: https://bitcoinj.github.io/simple-gui-wallet.
Allerdings ist diese Version eher als „Rumpf“ zu betrachten und nicht als vollständige Lösung, denn in der Mitte der Oberfläche ist ein Panel mit der Aufschrift „Your content goes here“ zu finden – ein klarer Hinweis das hier z.B. die Anzeige der Transaktionen fehlt.
Die Beschreibungsseite zeigt dann auf, wie aus dem Rumpf eine komplette Lösung entstehen könnte, aber leider wurde das Beschreibungsvideo vom Original-Autor gelöscht und damit stehen wichtige Details online leider nicht mehr zur Verfügung. Zum Glück hatte ich mir im Vorjahr noch das Video heruntergeladen und konnte so das Tutorial vervollständigen – Ihr findet das vollständige Programm nun in BitcoinJ Client WalletTemplate V2.
Hier zeige ich Euch „nur“ die Programmansicht, die Quellcode-Dateien findet Ihr komplett in meinem GitHub-Archiv https://github.com/java-crypto/BitcoinJ-Clients/tree/master/BitcoinJ%20Client%20WalletTemplate%20V1.
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.
Ein Hinweis noch zur Walletdatei – der Dateiname wird aus der Definition in der Klasse Main.java in der Zeile 80 entnommen und um das jeweilige Bitcoin-Netz ergänzt, so das der vollständige Dateiname „WalletTemplate-test.wallet“ lautet.
Zuerst synchronisiert sich das Programm mit der Blockchain (hier mit dem Bitcoin Testnetz):
und ist dann nutzbar:
Ich gehe an dieser Stelle nicht weiter auf die Nutzung ein, da das vollständige Programm BitcoinJ Client WalletTemplate V2 mehr Möglichkeiten bietet.
Alle Quellcodes zu den BitcoinJ Clients findet Ihr zum Download in meinem Github-Repository BitcoinJ Clients, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/BitcoinJ-Clients. 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: 18.03.2020