#Blockchain API library (Java, v1)
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.4'
}
...
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:
info.blockchain.api.blockexplorer
(docs) (api/blockchain_api)info.blockchain.api.createwallet
(docs) (api/create_wallet)info.blockchain.api.exchangerates
(docs) (api/exchange_rates_api)info.blockchain.api.pushtx
(docs) (pushtx)info.blockchain.api.receive
(docs) (api/api_receive)info.blockchain.api.statistics
(docs) (api/charts_api)info.blockchain.api.wallet
(docs) (api/blockchain_wallet_api)
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.
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
.