A library for working with Bitcoin
Find a file
Andreas Schildbach 0230a25b23 Peer: Don't refresh the filters every 25.000 blocks.
Reasons:
- The implementation was bugged, because it overwrites the server filter with an outdated (not
  updated according to NODE_UPDATE_* flags) filter, potentially causing missing transactions.
- Refreshing a filter in-flight has privacy issues.
- According to the comment it isn't even needed any more, due to false positive rate tracking.
2019-01-31 23:55:19 +01:00
.github Add simple contributing guidelines. 2018-05-18 16:21:04 +02:00
core Peer: Don't refresh the filters every 25.000 blocks. 2019-01-31 23:55:19 +01:00
designdocs Design doc for contexts 2015-03-21 17:23:21 +01:00
examples ECKey: If DER-encoded signatures cannot be parsed, throw SignatureDecodeException rather than RuntimeException. 2019-01-03 11:55:32 +01:00
misc Higher res logo PNG 2015-06-03 12:19:43 +02:00
tools WalletTool: Fix not using peer discoveries. 2019-01-31 21:34:31 +01:00
wallettemplate In JavaDocs change <tt> tags to @code. 2019-01-04 18:36:59 +01:00
.gitattributes Add a logo. 2013-03-01 13:59:48 +01:00
.gitignore Git-ignore Gradle wrapper files. 2018-07-31 10:37:39 +02:00
.travis.yml Migrate from Maven to Gradle 3.4 for building. 2018-05-01 16:49:30 +02:00
AUTHORS Update AUTHORS from git. 2016-04-02 17:56:39 +02:00
build.gradle Migrate from Maven to Gradle 3.4 for building. 2018-05-01 16:49:30 +02:00
COPYING Initial checkin of BitCoinJ 2011-03-07 10:17:10 +00:00
README.md Migrate from Maven to Gradle 3.4 for building. 2018-05-01 16:49:30 +02:00
settings.gradle Migrate from Maven to Gradle 3.4 for building. 2018-05-01 16:49:30 +02:00

Build Status Coverage Status

Visit our IRC channel

Welcome to bitcoinj

The bitcoinj library 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. It comes with full documentation and some example apps showing how to use it.

Technologies

  • Java 7 for the core modules, Java 8 for everything else
  • Gradle 3.4+ - for building the project
  • Google Protocol Buffers - for use with serialization and hardware communications

Getting started

To get started, it is best to have the latest JDK and Gradle installed. The HEAD of the master branch contains the latest development code and various production releases are provided on feature branches.

Building from the command line

To perform a full build use

gradle clean build

You can also run

gradle javadoc

to generate the JavaDocs.

The outputs are under the build directory.

Building from an IDE

Alternatively, just import the project using your IDE. IntelliJ has Gradle integration built-in and has a free Community Edition. Simply use File | New | Project from Existing Sources and locate the build.gradle in the root of the cloned project source tree.

Example applications

These are found in the examples module.

Where next?

Now you are ready to follow the tutorial.