Die Bitcoinj-Bibliothek ist eine Java-Implementierung des Bitcoin-Protokolls, die es ihr ermöglicht, eine Wallet zu verwalten und Transaktionen zu senden/empfangen, ohne dass eine lokale Kopie von Bitcoin Core erforderlich ist. Es enthält eine vollständige Dokumentation und einige Beispiel-Apps, die die Verwendung zeigen.
Java 8+ (benötigt Java 8 API oder Android 8.0 API, kompiliert zu Java 8 Bytecode) für base
und core
Java 17+ für tools
, wallettool
, examples
und das JavaFX-basierte wallettemplate
Gradle
Gradle 7.3+ zum Erstellen des gesamten Projekts oder
Debian Gradle 4.4 nur für die Module base
, core
, tools
, wallettool
und examples
(siehe „Referenz-Build“ unten)
Google-Protokollpuffer – zur Verwendung mit Serialisierung und Hardware-Kommunikation
Um zu beginnen, ist es am besten, das neueste JDK und Gradle installiert zu haben. Der HEAD des master
-Zweigs enthält den neuesten Entwicklungscode und verschiedene Produktionsversionen werden in Feature-Zweigen bereitgestellt.
Offizielle Builds verwenden derzeit JDK 17. Unsere GitHub Actions erstellen und testen mit JDK 17 und 21.
gradle clean build
Die Ausgaben befinden sich im build
-Verzeichnis.
Um einen vollständigen Build ohne Unit-/ Integrationstests durchzuführen, verwenden Sie:
gradle clean assemble
Alternativ importieren Sie das Projekt einfach mit Ihrer IDE. IntelliJ verfügt über eine integrierte Gradle-Integration und eine kostenlose Community Edition. Verwenden Sie einfach File | New | Project from Existing Sources
und suchen Sie build.gradle
im Stammverzeichnis des geklonten Projektquellenbaums.
Das Teilprojekt bitcoinj wallettool
umfasst ein Befehlszeilen-Wallet-Tool ( wallet-tool
), mit dem Bitcoinj -basierte Wallets erstellt und verwaltet werden können (sowohl der HD-Schlüsselbund als auch der SPV-Blockchain-Status). Die Verwendung wallet-tool
im Bitcoin-Testnetz ist großartig Möglichkeit, mehr über Bitcoin und Bitcoinj zu erfahren.
Um ein ausführbares Shell-Skript zu erstellen, das das Befehlszeilen-Wallet-Tool ausführt, verwenden Sie Folgendes:
gradle bitcoinj-wallettool:installDist
Sie können das wallet-tool
jetzt ohne Parameter ausführen, um Hilfe zur Bedienung zu erhalten:
./wallettool/build/install/wallet-tool/bin/wallet-tool
Um eine Test-Net-Wallet-Datei in ~/bitcoinj/bitcoinj-test.wallet
zu erstellen, würden Sie Folgendes verwenden:
mkdir ~/bitcoinj
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create
Um das neu erstellte Wallet in ~/bitcoinj/bitcoinj-test.wallet
mit dem Testnetz zu synchronisieren, würden Sie Folgendes verwenden:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync
Um den Status des Wallets in ~/bitcoinj/bitcoinj-test.wallet
mit dem Testnetz zu sichern, würden Sie Folgendes verwenden:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump
Notiz | Diese Anweisungen gelten für macOS/Linux, für Windows verwenden Sie die Batchdatei wallettool/build/install/wallet-tool/bin/wallet-tool.bat mit den entsprechenden Windows-Befehlszeilenbefehlen und -Optionen. |
Unser Referenz-Build (der auch für unsere Releases verwendet wird) läuft in einem Container, um eine gute Reproduzierbarkeit zu gewährleisten. Buildah 1.26+, Podman 4.1+ und Docker (mit BuildKit) werden unterstützt. Wir haben verschiedene Kombinationen von Host-Betriebssystemen (Debian, Ubuntu, macOS, Windows+WSL) und Architekturen (amd64, arm64) getestet. Anweisungen zur Verwendung finden Sie unter build.Containerfile
.
Dies verwendet Debian Gradle mit den settings-debian.gradle
-Einstellungen. Wenn Sie Debian verwenden und Gradle aus dem Debian-Repository installiert haben, können Sie diese Einstellungen direkt aufrufen:
gradle --settings-file settings-debian.gradle clean build
Diese finden Sie im examples
.
Jetzt können Sie dem Tutorial folgen.
Das Erstellen von Apps mit offiziellen Versionen von Bitcoinj wird im Tutorial behandelt.
Wenn Sie Ihre App mit einem Jitpack-basierten Build des neuesten master
oder release-0.17
Zweigs von Bitcoinj entwickeln oder testen möchten, folgen Sie den dynamisch generierten Anweisungen für diesen Zweig, indem Sie dem richtigen Link folgen.
Hauptzweig
Release-0.17-Zweig