Bitcoin is at the stage of mass adoption. The entire crypto ecosystem is being used to bring innovative solutions to existing world problems.
Now, various Java libraries can be used to build popular Bitcoin components. With the help of these libraries, developers can build bitcoin wallets, private key management solutions, automate cryptocurrency trading, build games with the Bitcoin economy, and even create a mining setup.
If you’re looking to incorporate blockchain in your Java project, here’s a breakdown of 3 of the major Bitcoin libraries. BitcoinJ is a Java implementation of the Bitcoin protocol through which you can maintain a Bitcoin wallet and send/receive transactions without requiring a local copy of Bitcoin core. While it’s implemented in Java, we have examples in Python and JavaScript, both of which are JVM compatible. We also have bisq-network, which is a private and decentralized method to exchange fiat for Bitcoin using P2P networking and multi-signature escrow. Exchange-core is an ultra-fast matching engine based on LMAX Disruptor, Real Logic Agrona, OpenHFT, Eclipse Collections (like Goldman Sachs GS Collections), and Adaptive Radix Trees. If you expect high-load conditions and pauseless 24/7 operation, it’s the one to go with.
bitcoinjby bitcoinj
A library for working with Bitcoin
bitcoinjby bitcoinj
Java 4582 Version:v0.17-alpha1 License: Permissive (Apache-2.0)
bisqby bisq-network
A decentralized bitcoin exchange network
bisqby bisq-network
Java 4332 Version:v1.9.10 License: Strong Copyleft (AGPL-3.0)
XChangeby knowm
XChange is a Java library providing a streamlined API for interacting with 60+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data.
XChangeby knowm
Java 3625 Version:Current License: Permissive (MIT)
exchange-coreby mzheravin
Ultra-fast matching engine written in Java based on LMAX Disruptor, Eclipse Collections, Real Logic Agrona, OpenHFT, LZ4 Java, and Adaptive Radix Trees.
exchange-coreby mzheravin
Java 921 Version:exchange-core-0.5.3 License: Permissive (Apache-2.0)
token-core-androidby consenlabs
a blockchain private key management library on android
token-core-androidby consenlabs
Java 620 Version:Current License: Permissive (Apache-2.0)
wallet-androidby mycelium-com
Mycelium Bitcoin Wallet for Android
wallet-androidby mycelium-com
Java 592 Version:Current License: Others (Non-SPDX)
CoinExchange_CryptoExchange_Javaby jammy928
The best Java open source crypto currency exchange platform, bitcoin exchange based on Java | BTC exchange | ETH exchange | digital currency exchange | trading platform | matching trading engine. This project is based on the development of Spring Cloud microservices and can be used to build and secondary development of digital currency exchanges. It has a complete source code for matching trading engines, back-end management (back-end + front-end), front-end (transaction page, activity page, personal center, etc.), Android APP source code, Apple APP source code, currency wallet RPC source code. Contact Email: 877070886@qq.com
CoinExchange_CryptoExchange_Javaby jammy928
Java 920 Version:Current License: Permissive (Apache-2.0)
samourai-wallet-androidby Samourai-Wallet
Bitcoin Wallet strongly focused on privacy when transacting on the bitcoin network
samourai-wallet-androidby Samourai-Wallet
Java 534 Version:0.99.93 License: Permissive (Unlicense)
DiabloMinerby Diablo-D3
OpenCL miner for Bitcoin
DiabloMinerby Diablo-D3
Java 525 Version:Current License: Strong Copyleft (GPL-3.0)
thunderby blockchain
Off-Chain Bitcoin payments using smart contracts
thunderby blockchain
Java 514 Version:v0.1.2-alpha License: Strong Copyleft (AGPL-3.0)
xchange-streamby bitrich-info
XChange-stream is a Java library providing a simple and consistent streaming API for interacting with Bitcoin and other crypto currency exchanges via WebSocket protocol. It is build on top of of XChange library providing new interfaces for streaming API. User can subscribe for live updates via reactive streams of RxJava library.
xchange-streamby bitrich-info
Java 400 Version:xchange-stream-parent-4.4.2 License: Permissive (Apache-2.0)
bither-androidby bither
Bither - a simple and secure Bitcoin wallet!
bither-androidby bither
Java 390 Version:Current License: Permissive (Apache-2.0)
donationsby SufficientlySecure
Donations library for Android. Supports Google Play Store, Flattr, PayPal, and Bitcoin
donationsby SufficientlySecure
Java 342 Version:Current License: Permissive (Apache-2.0)
bitcoin-androidby barmstrong
Send and receive bitcoins from your Android phone!
bitcoin-androidby barmstrong
Java 207 Version:Current License: Permissive (Apache-2.0)
bitcoin-transaction-explorerby yogh-io
Simple and pure block explorer you can run on top of a full node
bitcoin-transaction-explorerby yogh-io
Java 165 Version:beta License: Permissive (MIT)
blockchain-javaby wangweiX
A simplified blockchain implementation in Java
blockchain-javaby wangweiX
Java 209 Version:Current License: Permissive (Apache-2.0)
okcoin-clientby sutra
OKCoin API Wrapper in Java.
BitcoinVisualizerby thallium205
Creates a graph of the bitcoin blockchain and visually displays the "owner network" to the user's browser.
BitcoinVisualizerby thallium205
Java 141 Version:Current License: No License
api-v1-client-javaby blockchain
Blockchain Bitcoin Developer APIs - Java
api-v1-client-javaby blockchain
Java 138 Version:v2.0.2 License: Permissive (MIT)
blockchain2graphby straumat
Blockchain2graph extracts blockchain data (bitcoin) and insert them into a graph database (neo4j).
blockchain2graphby straumat
Java 135 Version:3.2 License: Strong Copyleft (GPL-3.0)
hadoopcryptoledgerby ZuInnoTe
Hadoop Crypto Ledger - Analyzing CryptoLedgers, such as Bitcoin Blockchain, on Big Data platforms, such as Hadoop/Spark/Flink/Hive
hadoopcryptoledgerby ZuInnoTe
Java 133 Version:hcl-1.3.1 License: Permissive (Apache-2.0)
supernodeby bitsofproof
BOP Bitcoin Server API - superseded versions
supernodeby bitsofproof
Java 125 Version:Current License: Permissive (Apache-2.0)
boilrby drpout
Price alarms for Bitcoin, cryptocurrencies, cryptoassets, futures and options.
boilrby drpout
Java 124 Version:0.7.0 License: Strong Copyleft (GPL-3.0)
BitcoinWalletby terryjiao
Bitcoin and ETH wallet
bitcoin-rpc-clientby Polve
Java Bitcoind RPC helper class
bitcoin-rpc-clientby Polve
Java 119 Version:Current License: No License
ledger-javacardby LedgerHQ
Ledger Unplugged - Java Card implementation of Ledger Bitcoin Hardware Wallet
ledger-javacardby LedgerHQ
Java 118 Version:Current License: Strong Copyleft (AGPL-3.0)
FunWalletby uncleleonfan
Simple example of bitcoin wallet and ethereum wallet for Android.
FunWalletby uncleleonfan
Java 128 Version:Current License: No License
btcd-cli4jby priiduneemre
A simple Java wrapper around Bitcoin Core's JSON-RPC (via HTTP) interface
btcd-cli4jby priiduneemre
Java 105 Version:0.5.1 License: Permissive (Apache-2.0)