/iota.lib.java

JOTA library is a simple Java wrapper around IOTA (http://www.iota.org/) Node's JSON-REST HTTP interface.

Primary LanguageJava

Build Status

Introduction

The JOTA library is a simple Java wrapper around [IOTA] Node's JSON-REST HTTP interface.

It allows to connect easily using java directly to a local or a remote [IOTA node].

  • Latest release: 0.9.1
  • Compatibility: fully compatible with IOTA IRI v1.2.6
  • API coverage: 14 of 14 commands fully implemented
  • License: Apache License 2.0
  • Readme updated: 2016-01-19 21:05:02 (UTC)

A list of all IOTA JSON-REST API commands currently supported by jota wrapper can be found in the Commands enum (see here for more details).

JOTA java wrapper is being designed to be thread-safe and simplest as possible in order to be easily mantainable, accordingly with the ongoing natural evolution of IOTA'api. All the boilerplate code for connecting to the node rest interface has been eliminated using Retrofit.

Technologies & dependencies

The JOTA library has been designed to be used with Java6+, in order to promote compatibility with Android.

Core dependencies:

Other dependencies:

  • Simple Logging Facade for Java 1.7.21 [link]
  • Apache Commons Lang 3.3.2 [link]

Getting started

Connect to your local node with the default settings is quite straightforward: it requires only 2 lines of code. For example, in order to fetch the Node Info:

IotaApi api = new IotaApi.Builder.build();
GetNodeInfoResponse response = api.getNodeInfo();

of if you need to connect to a remote node:

IotaApi api = new IotaApi.Builder 
	.protocol("http")
	.nodeAddress("somewhere_over_the_rainbow")
	.port(14265) 
	.build();

GetNodeInfoResponse response = api.getNodeInfo();

In order to communicate with IOTA node, JOTA needs to be aware of your node's exact configuration. If you dont want to use the builder the easiest way of providing this information is via a node_config.properties file, for example:

iota.node.protocol=http``****************``
iota.node.host=127.0.0.1
iota.node.port=14265

Jota is still not in the central maven repository.

Warning

  • This is pre-release software!
  • There may be performance and stability issues.
  • You may loose all your money :)
  • Please report any issues using the Issue Tracker

Examples

There's an extensive list of test coverages on the src/test/java package of the project that can be used as reference.

Documentation

A hosted version of the javadoc for the latest release can be found here

Supporting the project

If JOTA has been useful to you and you feel like contributing, consider posting a bug report or a pull request.

That's it!