/api-v1-client-java

Blockchain Bitcoin Developer APIs - Java

Primary LanguageJavaMIT LicenseMIT

Blockchain API library (Java, v2.0.0)

An official Java library for interacting with the Blockchain.info API (Java 1.6 required).

Getting started

If you prefer building from source:

$ git clone https://github.com/blockchain/api-v1-client-java
$ cd api-v1-client-java
$ mvn install

We also provide a snapshot Maven repository for users who prefer managing dependencies that way.

Add the following to your pom.xml:

<project>
    ...
    <repositories>
        ...
        <repository>
            <id>api-v1-client-java-mvn-repo</id>
            <url>https://raw.githubusercontent.com/blockchain/api-v1-client-java/mvn-repo/</url>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
    ...
    <dependencies>
        ...
        <dependency>
  	        <groupId>info.blockchain</groupId>
  	        <artifactId>api</artifactId>
  	        <version>LATEST</version> <!-- for a specific version see the list of tags -->
        </dependency>
    <dependencies>
    ...
</project>

The above Maven repository also works with Gradle.

Add this to your build.gradle:

...
repositories {
    ...
    maven {
        url = 'https://raw.githubusercontent.com/blockchain/api-v1-client-java/mvn-repo'
    }
}
...
dependencies {
    ...
    compile 'info.blockchain:api:1.1.5'
}
...

Note that the above procedures require Maven or Gradle. If you do not wish to use Maven or Gradle, please compile the source manually.

The library consists of the following packages:

In order to use createwallet and wallet you need to run an instance of service-my-wallet-v3.

Error handling

All methods may throw exceptions caused by incorrectly passed parameters or other problems. If a call is rejected server-side, the APIException exception will be thrown. In case of a network error, the IOException exception will be thrown.

Connection timeouts

It is possible to set arbitrary connection timeouts.

info.blockchain.api.HttpClient.TIMEOUT_MS = 2000; // time out after 2000 milliseconds

Request limits and API keys

In order to prevent abuse some API methods require an API key approved with some basic contact information and a description of its intended use. Please request an API key here.

The same API key can be used to bypass the request limiter.

Code Coverage Report generation

To generate the code coverage report, execute the following command:

mvn clean verify

This will generate a code coverage report in target/site/jacoco/index.html.