Библиотека bitcoinj представляет собой Java-реализацию протокола Биткойн, которая позволяет поддерживать кошелек и отправлять/получать транзакции без необходимости использования локальной копии Bitcoin Core. Он поставляется с полной документацией и несколькими примерами приложений, показывающих, как его использовать.
Java 8+ (требуется API Java 8 или API Android 8.0, компилируется в байт-код Java 8) для base
и core
модуля
Java 17+ для tools
, wallettool
, examples
и wallettemplate
на основе JavaFX.
Градл
Gradle 7.3+ для сборки всего проекта или
Debian Gradle 4.4 только для base
модулей, core
, tools
, wallettool
и examples
(см. «справочную сборку» ниже).
Буферы протокола Google — для использования с сериализацией и аппаратной связью.
Для начала лучше всего установить последние версии JDK и Gradle. HEAD master
ветки содержит новейший код разработки, а в функциональных ветках предоставляются различные производственные выпуски.
В официальных сборках в настоящее время используется JDK 17. Наши действия GitHub собирают и тестируют с помощью JDK 17 и 21.
gradle clean build
Выходные данные находятся в каталоге build
.
Чтобы выполнить полную сборку без модульных/интеграционных тестов, используйте:
gradle clean assemble
Альтернативно, просто импортируйте проект, используя свою IDE. IntelliJ имеет встроенную интеграцию с Gradle и имеет бесплатную версию Community Edition. Просто используйте File | New | Project from Existing Sources
и найдите build.gradle
в корне дерева исходного кода клонированного проекта.
Подпроект bitcoinj wallettool
включает в себя инструмент Wallet Tool командной строки ( wallet-tool
), который можно использовать для создания и управления кошельками на основе bitcoinj (как цепочка ключей HD, так и состояние блокчейна SPV). Использование wallet-tool
в тестовой сети Биткойн является отличным способ узнать о Биткойне и биткойнах .
Чтобы создать исполняемый сценарий оболочки, запускающий инструмент Wallet Tool из командной строки, используйте:
gradle bitcoinj-wallettool:installDist
Теперь вы можете запустить wallet-tool
без параметров, чтобы получить справку по его работе:
./wallettool/build/install/wallet-tool/bin/wallet-tool
Чтобы создать файл тестового сетевого кошелька в ~/bitcoinj/bitcoinj-test.wallet
, вы должны использовать:
mkdir ~/bitcoinj
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create
Чтобы синхронизировать вновь созданный кошелек в ~/bitcoinj/bitcoinj-test.wallet
с тестовой сетью, вы должны использовать:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync
Чтобы сбросить состояние кошелька в ~/bitcoinj/bitcoinj-test.wallet
с помощью тестовой сети, вы должны использовать:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump
Примечание | Эти инструкции предназначены для macOS/Linux, для Windows используйте пакетный файл wallettool/build/install/wallet-tool/bin/wallet-tool.bat с эквивалентными командами и параметрами командной строки Windows. |
Наша эталонная сборка (которая также используется для наших выпусков) выполняется внутри контейнера, что обеспечивает хорошую воспроизводимость. Поддерживаются Buildah 1.26+, Podman 4.1+ и Docker (с BuildKit). Мы протестировали различные комбинации хостовых ОС (Debian, Ubuntu, macOS, Windows+WSL) и архитектур (amd64, Arm64). Инструкции по использованию см. в build.Containerfile
.
Здесь используется Debian Gradle с settings-debian.gradle
. Если вы используете Debian и у вас установлен Gradle из репозитория Debian, вы можете напрямую вызвать эти настройки:
gradle --settings-file settings-debian.gradle clean build
Они находятся в модуле examples
.
Теперь вы готовы следовать инструкциям.
Создание приложений с использованием официальных выпусков bitcoinj рассматривается в этом руководстве.
Если вы хотите разработать или протестировать свое приложение с помощью сборки последней master
ветки bitcoinj на базе Jitpack или release-0.17
, следуйте динамически генерируемым инструкциям для этой ветки, перейдя по правильной ссылке.
главная ветка
ветка релиз-0.17