bitcoinj : A Library for Working with Bitcoin

bitcoinj is a Java implementation of the Bitcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Bitcoin Core. The library is well documented and also comes with example apps showing how to use it. Some of its important features are;

  • Highly optimised lightweight simplified payment verification (SPV) mode (only a small part of the block chain is downloaded, making bitcoinj suitable for usage on constrained devices like smartphones).
  • A wallet class with encryption, fee calculation, pluggable coin selection/coin control policies, extensions support and event listeners.
  • Provides both async and thread-per-connection for network IO.
  • Connect to the P2P network and download/parse/verify the block chain.
  • Easily implement apps that use Bitcoin’s contracts features.
  • Support for micropayment channels that let you set up a multi-signature contract between client and server, and then negotiate on the channel, allowing fast micropayments that avoid miner fees.
  • Experimental full verification mode.


Install/import with Gradle

Instructions for Gradle

Add the following to your build.gradle,

repositories {

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile group: '', name: 'bitcoinj', version: '0.11.3' 
Facebook Twitter Google Reddit LinkedIn

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *