A biblioteca bitcoinj é uma implementação Java do protocolo Bitcoin, que permite manter uma carteira e enviar/receber transações sem a necessidade de uma cópia local do Bitcoin Core. Ele vem com documentação completa e alguns exemplos de aplicativos mostrando como usá-lo.
Java 8+ (precisa da API Java 8 ou da API Android 8.0, compila para bytecode Java 8) para módulo base
e core
Java 17+ para tools
, wallettool
, examples
e o wallettemplate
baseado em JavaFX
Gradle
Gradle 7.3+ para construir todo o projeto ou
Debian Gradle 4.4 apenas para os módulos base
, core
, tools
, wallettool
e examples
(veja "construção de referência" abaixo)
Buffers de protocolo do Google - para uso com serialização e comunicações de hardware
Para começar, é melhor ter o JDK e o Gradle mais recentes instalados. O HEAD da ramificação master
contém o código de desenvolvimento mais recente e várias versões de produção são fornecidas nas ramificações de recursos.
As compilações oficiais estão atualmente usando o JDK 17. Nossas ações do GitHub são construídas e testadas com o JDK 17 e 21.
gradle clean build
As saídas estão no diretório build
.
Para realizar uma compilação completa sem testes de unidade/integração, use:
gradle clean assemble
Alternativamente, basta importar o projeto usando seu IDE. O IntelliJ possui integração Gradle integrada e uma Community Edition gratuita. Basta usar File | New | Project from Existing Sources
e localize build.gradle
na raiz da árvore de origem do projeto clonado.
O subprojeto bitcoinj wallettool
inclui uma wallet-tool
de carteira de linha de comando ( wallet-tool
) que pode ser usada para criar e gerenciar carteiras baseadas em bitcoinj (tanto o chaveiro HD quanto o estado do blockchain SPV). maneira de aprender sobre Bitcoin e bitcoinj .
Para construir um script de shell executável que execute a ferramenta Wallet de linha de comando, use:
gradle bitcoinj-wallettool:installDist
Agora você pode executar a wallet-tool
sem parâmetros para obter ajuda em sua operação:
./wallettool/build/install/wallet-tool/bin/wallet-tool
Para criar um arquivo de carteira de rede de teste em ~/bitcoinj/bitcoinj-test.wallet
, você usaria:
mkdir ~/bitcoinj
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create
Para sincronizar a carteira recém-criada em ~/bitcoinj/bitcoinj-test.wallet
com a rede de teste, você usaria:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync
Para despejar o estado da carteira em ~/bitcoinj/bitcoinj-test.wallet
com a rede de teste, você usaria:
./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump
Observação | Estas instruções são para macOS/Linux, para Windows use o arquivo em lote wallettool/build/install/wallet-tool/bin/wallet-tool.bat com os comandos e opções de linha de comando equivalentes do Windows. |
Nossa compilação de referência (que também é usada em nossos lançamentos) está sendo executada em um contêiner para fornecer boa reprodutibilidade. Buildah 1.26+, Podman 4.1+ e Docker (com BuildKit) são suportados. Testamos várias combinações de sistemas operacionais host (Debian, Ubuntu, macOS, Windows+WSL) e arquiteturas (amd64, arm64). Para obter instruções de uso, consulte build.Containerfile
.
Isso usa o Debian Gradle com as configurações settings-debian.gradle
. Se você usa Debian e tem o Gradle instalado a partir do repositório Debian, você pode invocar estas configurações diretamente:
gradle --settings-file settings-debian.gradle clean build
Eles são encontrados no módulo examples
.
Agora você está pronto para seguir o tutorial.
A construção de aplicativos com versões oficiais do bitcoinj é abordada no tutorial.
Se você deseja desenvolver ou testar seu aplicativo com uma versão Jitpack do branch master
mais recente ou release-0.17
do bitcoinj, siga as instruções geradas dinamicamente para esse branch seguindo o link correto.
ramo mestre
ramificação release-0.17