La bibliothèque bitcoinj est une implémentation Java du protocole Bitcoin, qui lui permet de gérer un portefeuille et d'envoyer/recevoir des transactions sans avoir besoin d'une copie locale de Bitcoin Core. Il est livré avec une documentation complète et quelques exemples d'applications montrant comment l'utiliser.
Java 8+ (nécessite l'API Java 8 ou l'API Android 8.0, se compile en bytecode Java 8) pour le module base
et core
Java 17+ pour tools
, wallettool
, examples
et le wallettemplate
basé sur JavaFX
Graduation
Gradle 7.3+ pour construire l'ensemble du projet ou
Debian Gradle 4.4 pour uniquement les modules base
, core
, tools
, wallettool
et examples
(voir « build de référence » ci-dessous)
Tampons de protocole Google – à utiliser avec la sérialisation et les communications matérielles
Pour commencer, il est préférable d’installer les derniers JDK et Gradle. Le HEAD de la branche master
contient le dernier code de développement et diverses versions de production sont fournies sur les branches de fonctionnalités.
Les versions officielles utilisent actuellement le JDK 17. Nos actions GitHub sont construites et testées avec les JDK 17 et 21.
gradle clean build
Les sorties se trouvent dans le répertoire build
.
Pour effectuer une build complète sans tests unitaires/d'intégration, utilisez :
gradle clean assemble
Alternativement, importez simplement le projet à l’aide de votre IDE. IntelliJ intègre l'intégration Gradle et dispose d'une édition communautaire gratuite. Utilisez simplement File | New | Project from Existing Sources
et localisez le build.gradle
à la racine de l’arborescence des sources du projet cloné.
Le sous-projet bitcoinj wallettool
comprend un outil de portefeuille en ligne de commande ( wallet-tool
) qui peut être utilisé pour créer et gérer des portefeuilles basés sur bitcoinj (à la fois le trousseau HD et l'état de la blockchain SPV.) L'utilisation wallet-tool
sur le réseau de test de Bitcoin est une excellente solution. moyen d'en savoir plus sur Bitcoin et Bitcoinj .
Pour créer un script shell exécutable qui exécute l'outil Wallet en ligne de commande, utilisez :
gradle bitcoinj-wallettool:installDist
Vous pouvez désormais exécuter le wallet-tool
sans paramètres pour obtenir de l'aide sur son fonctionnement :
./wallettool/build/install/wallet-tool/bin/wallet-tool
Pour créer un fichier de portefeuille net de test dans ~/bitcoinj/bitcoinj-test.wallet
, vous utiliserez :
mkdir ~/bitcoinj
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create
Pour synchroniser le portefeuille nouvellement créé dans ~/bitcoinj/bitcoinj-test.wallet
avec le réseau de test, vous utiliserez :
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync
Pour vider l'état du portefeuille dans ~/bitcoinj/bitcoinj-test.wallet
avec le réseau de test, vous utiliserez :
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump
Note | Ces instructions concernent macOS/Linux, pour Windows, utilisez le fichier batch wallettool/build/install/wallet-tool/bin/wallet-tool.bat avec les commandes et options de ligne de commande Windows équivalentes. |
Notre build de référence (qui est également utilisée pour nos versions) s'exécute dans un conteneur pour offrir une bonne reproductibilité. Buildah 1.26+, Podman 4.1+ et Docker (avec BuildKit) sont pris en charge. Nous avons testé différentes combinaisons de systèmes d'exploitation hôtes (Debian, Ubuntu, macOS, Windows+WSL) et d'architectures (amd64, arm64). Pour les instructions d'utilisation, voir build.Containerfile
.
Cela utilise Debian Gradle avec les paramètres settings-debian.gradle
. Si vous utilisez Debian et que Gradle est installé à partir du référentiel Debian, vous pouvez appeler ces paramètres directement :
gradle --settings-file settings-debian.gradle clean build
Ceux-ci se trouvent dans le module examples
.
Vous êtes maintenant prêt à suivre le tutoriel.
La création d'applications avec les versions officielles de Bitcoinj est abordée dans le didacticiel.
Si vous souhaitez développer ou tester votre application avec une version Jitpack de la dernière branche master
ou release-0.17
de Bitcoinj, suivez les instructions générées dynamiquement pour cette branche en suivant le lien correct.
branche principale
branche version-0.17