BitcoinJ 05 Erzeuge Watching Wallet

Hinweis/Notice: this article is available in Englisch as well, here is the link: BitcoinJ 05 Create Watching Wallet En.

Ein spannendes Randthema sind die sogenannten „Watching Wallets“ oder „Beobachtungs Wallets“. Diese Wallets sehen ganz normal aus, enthalten Transaktionen und daraus resultierend haben sie auch ein Guthaben („Balance“). Ihnen fehlen allerdings die privaten Schlüssel zu den Adressen, so das keine Überweisungen von diesen Wallets aus möglich sind.

Die offizielle Webseite zur Bibliothek BitcoinJ umschreibt zwar die grundsätzliche Vorgehensweise für die Umwandlung, allerdings fehlen ein paar Schritte und in der Folge wird das „Watching Wallet“ ohne zurückliegende Transaktionen erstellt und hat auch kein ausgewiesenes Guthaben.

Das folgende Programm erstellt ohne weitere Interaktion des Benutzers aus dem vorhandenen Wallet (benannt durch den Dateinamen „filenameFullWallet“, z.B. „bitcoinj02createwallet.wallet“) ein Watching Wallet mit einem zusätzlichen „W“ am Ende des Dateinamens, bei meinem Beispiel wäre es „bitcoinj02createwalletW.wallet“.

Noch zwei wichtige Hinweise: Zum einen müssen eventuell vorhandene Watching Wallets und dazugehörende SPV-Dateien manuell gelöscht werden, ansonsten stoppt das Programm. Zum Anderen ist für die Umwandlung und Aktualisierung des Wallets eine Onlineverbindung zwingend notwendig. Dieser Schritt kann auch schon einmal 1 bis zu 3 Minuten dauern, habt also Geduld und unterbrecht das Programm nicht vorzeitig (Hinweis: in der Konsole könnt Ihr den notwendigen Download verfolgen).

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.

Ich zeige Euch hier die gekürzte Version der Konsolenausgabe, die vollständigen Ausgaben auf die Konsole findet Ihr in meinem Github-Repository.

Fehlermeldung falls die neu zu erzeugenden Wallet-Dateien schon vorhanden sind:

Konsole:

Quellcode:

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