Mein Programm zur manuellen Erzeugung von Schlüsseln und Adressen diente in erster Linie dazu, die einzelnen Schritte vom elliptischen Kurve Schlüsselpaar hin zum Private Key im WIF-Format und der Bitcoin Adresse (ebenfalls im WIF-Format) nachvollziehen zu können.
Solltet Ihr ein etwas stilvolleres Programm mit grafischer Oberfläche (GUI) nutzen wollen, empfehle ich Euch den Bitcoin Address Generator von MrMaxwell, den Ihr im Original aus dem GitHub-Archiv https://github.com/MrMaxweII/Bitcoin-Address-Generator oder aus dem Fork davon bei mir (https://github.com/java-crypto/Bitcoin-MrMaxweII-Address-Generator) laden könnt.
Den Sourcecode konnte ich direkt in intelliJ IDEA kompilieren und starten, nachdem ich die im ZIP-Archiv enthaltenen Bibliotheken in ein Library-Verzeichnis („lib“) kopiert und dieses in intelliJ als „Library“ markiert hatte. Endlich mal ein Programm, das unmittelbar startklar ist!
Die drei notwendigen externen Bibliotheken sind „bcprov-jdk15on-157.jar“ = Bouncy Castle Kryptografie, „java-json.jar“ = Json-Bearbeitung und „zxing.jar“ = QR-Bereitstellung.
Die Benutzung für das Testnetz ist denkbar einfach – Ihr kreuzt ganz oben an, das Ihr die Daten für das Testnetz erzeugen wollt, wählt gegebenenfalls die GUI-Sprache aus und gebt eine möglichst individuelle Passphrase ein, nach dem Klick auf „OK“ errechnet das Programm unter anderem den privaten Schlüssel im Base58- bzw. WIF-Format und die öffentliche Adresse (ebenfalls im WIF-Format).
Als kleines Schmankerl überprüft das Programm (bei aktiver Internetverbindung) das Guthaben der neuen Adresse (sollte bei 0.00 BTC liegen). Der Klick ganz unten auf die Zeile (beginnend mit BLOCKCHAIN) öffnet den System-Browser und die Seite des Anbieters https://blockchain.info wird direkt mit der Auskunft über die Adresse geöffnet.
Nun überweisen wir uns zum Test mittels eines Bitcoin Testnetz Faucets (Details siehe Bitcoin Anforderung von Testbitcoins) ein paar Test Coins auf die erzeugte Adresse („mogvSaznQeyNEjRtcw4piPHRvx5DFMHiHA“). Ich benutze wieder den Dienst https://tpfaucet.appspot.com/ und erhalte von denen 0.0001 Coins:
Wenn ich nun den Adressen Generator erneut aufrufe und diesmal den Private Key („93NcHYick9jyRpqNTRKe7TSC34jgC8oN9MUPZbRVWJwAEQXWMfj“) in das entsprechende Feld eintrage, erhalte ich die bekannte Adresse und jetzt wird auch ein Guthaben von 0.0001 BTC angezeigt:
Jetzt könntet Ihr die Adressdaten z.B. ausdrucken oder abschreiben und hättet so ein eigenes „Papier basiertes Wallet“. Welche Gefahren und Risiken allerdings mit einer derartigen Aufbewahrung von Bitcoins verbunden sind, darüber informiert Euch ein eigener Artikel unter Bitcoin Nutzung und Sicherheit.
So einfach die Erzeugung einer eigenen Adresse mittels Passphrase auch ist – Ihr solltet viel Sorgfalt in die Passphrase legen, denn ansonsten lauert die Gefahr einer Erzeugung desselben Schlüsselpaares durch unterschiedliche Personen mit der Folge, das beide Personen ein Guthaben benutzen können. In meinem Artikel Bitcoin Erzeugung Paper Wallet Passphrase zeige ich es Euch sehr deutlich.
Alle Quellcodes zum Bitcoin Address Generator von MrMaxwell findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/Bitcoin-MrMaxweII-Address-Generator oder dem Original Github-Archiv https://github.com/MrMaxweII/Bitcoin-Address-Generator. 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.
Letzte Bearbeitung: 23.02.2020