BitcoinJ Timestamp

Die BitcoinJ-Artikelreihe ergänze ich hier mit einer eigenen Rubrik und „eigentlich“ sollte sie „BitcoinJ Timestamping und OP_Return Beispiele“ heißen. Da ich hier eine Übersicht über fertige Lösungen gebe, findet Ihr einfache Erläuterungen zu den Begriffen und der Vorgehensweise im separaten Artikel Timestamp Erläuterungen, das Ganze ist dann garniert mit einem echten Beispiel.

BitcoinJ Erzeuge eine OP_RETURN Transaktion: Die Speicherung von ein paar Byte Daten in der Bitcoin Blockchain ist mit minimalem Aufwand möglich – hier zeige ich Euch eine spezielle Version der Speicherung von Daten abseits der Timestamp-Anwendungen.

BitcoinJ Erzeuge einen Timestamp: Das Programm berechnet den Hashwert einer Datei und speichert diesen in der Bitcoin (Testnetz-) Blockchain ab.

BitcoinJ Erweitere einen Timestamp: Der vorhandene Timestamp enthält nur die Transaktions-Id, in dem sich die Daten befinden. Damit Ihr den Timestamp später mit Java-Bordmitteln überprüfen könnt, muss der Timestamp um die Blocknummer erweitert werden – das macht dieses kleine Programm.

BitcoinJ Überprüfe einen Timestamp: Die wichtigste Funktion darf nicht fehlen, nämlich die Verifizierung eines bestehenden Timestamps in Verbindung mit der Originaldatei.

BitcoinJ Überprüfe einen Timestamp API: Ich nutze für die Verifizierung des Timestams eine Programmierschnittstelle (API) eines Bitcoin (Testnet-) Explorers zur Datenabfrage.

BitcoinJ Timestamp Mike Hearn Original: Aus der Feder des ehemaligen BitcoinJ-Entwicklers Mike Hearn stammt dieses JavaFx-Programm, welches das Timestamping mit einer hübschen Oberfläche demonstriert.

BitcoinJ Timestamp Mike Hearn Extended: Ich habe das Timestamp-Programm von Mike Hearn etwas erweitert – hier ist die Beschreibung dazu.

Alle Quellcodes zu BitcoinJ Timestamps & OP_RETURN findet Ihr zum Download in meinem Github-Repository BitcoinJTimestamp, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/BitcoinJTimestamp. Alle Programme sind unter Java 11 lauffähig (vermutlich auch unter Java 8) und wurden mit intelliJ IDEA entwickelt.

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

Noch ein Wort zum Thema „Lizenz“: Die Programme stehen unter unterschiedlichen Lizenzen, die Ihr bitte beachten solltet. 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: 05.04.2020