<commit_before>:rootdir: .
:imagesdir: {rootdir}/images

ifdef::env-github,env-browser[:badges:]
ifdef::env-github,env-browser[:outfilesuffix: .adoc]

= EtherJar

ifdef::badges[]
image:http://build.infinitape.io/app/rest/builds/buildType:(id:Etherjar_Master)/statusIcon[TC Build Status, link=http://build.infinitape.io/viewType.html?buildTypeId=Etherjar_Master]
image:https://travis-ci.org/infinitape/etherjar.png?branch=master[Travis CI Build Status, link=https://travis-ci.org/infinitape/etherjar]
image:https://codecov.io/gh/infinitape/etherjar/branch/master/graph/badge.svg[Codecov, link=https://codecov.io/gh/infinitape/etherjar]
image:https://img.shields.io/github/license/infinitape/etherjar.svg?maxAge=2592000["License", link="https://github.com/infinitape/etherjar/blob/master/LICENSE"]
endif::[]

Java 8 library to Ethereum blockchain nodes, supports both Ethereum Classic (ETC) and Ethereum (ETH).

== Features

* Ethereum JSON-RPC API support (HTTP only)
* (_in progress_) Smart Contracts for Java

== Principles

* Async first approach
* Value objects (thread-safe immutability)
* HTTP Transport and JSON parser agnostic

== Usage

=== Maven

----
<repository>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
  <id>bintray-splix-etherjar</id>
  <name>bintray</name>
  <url>http://dl.bintray.com/splix/etherjar</url>
</repository>

<dependency>
  <groupId>io.infinitape</groupId>
  <artifactId>etherjar</artifactId>
  <version>0.1.0</version>
</dependency>
----

=== Gradle

----
repositories {
    maven {
        url  "http://dl.bintray.com/splix/etherjar"
    }
}

dependencies {
   compile "io.infinitape:etherjar:0.1.0"
}
----

== Examples

How to make 'web3_clientVersion' JSON-RPC call:

[source,java]
----
package example;

import DefaultRpcTransport;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collections;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class Main {

    public static void main(String[] args)
            throws URISyntaxException, IOException, ExecutionException, InterruptedException {

        DefaultRpcTransport transport =
                new DefaultRpcTransport(new URI("http://127.0.0.1:8545"));

        Future<String> req =
                transport.execute("web3_clientVersion", Collections.EMPTY_LIST, String.class);

        System.out.println(String.format("Client version: %s", req.get()));
    }
}
----

== Licence

Apache 2.0
<commit_msg>Remained private reference - `splix` on `bintray`<commit_after>:rootdir: .
:imagesdir: {rootdir}/images

ifdef::env-github,env-browser[:badges:]
ifdef::env-github,env-browser[:outfilesuffix: .adoc]

= EtherJar

ifdef::badges[]
image:http://build.infinitape.io/app/rest/builds/buildType:(id:Etherjar_Master)/statusIcon[TC Build Status, link=http://build.infinitape.io/viewType.html?buildTypeId=Etherjar_Master]
image:https://travis-ci.org/infinitape/etherjar.png?branch=master[Travis CI Build Status, link=https://travis-ci.org/infinitape/etherjar]
image:https://codecov.io/gh/infinitape/etherjar/branch/master/graph/badge.svg[Codecov, link=https://codecov.io/gh/infinitape/etherjar]
image:https://img.shields.io/github/license/infinitape/etherjar.svg?maxAge=2592000["License", link="https://github.com/infinitape/etherjar/blob/master/LICENSE"]
endif::[]

Java 8 library to Ethereum blockchain nodes, supports both Ethereum Classic (ETC) and Ethereum (ETH).

== Features

* Ethereum JSON-RPC API support (HTTP only)
* (_in progress_) Smart Contracts for Java

== Principles

* Async first approach
* Value objects (thread-safe immutability)
* HTTP Transport and JSON parser agnostic

== Usage

=== Maven

----
<repository>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
  <id>bintray-infinitape-etherjar</id>
  <name>bintray</name>
  <url>http://dl.bintray.com/infinitape/etherjar</url>
</repository>

<dependency>
  <groupId>io.infinitape</groupId>
  <artifactId>etherjar</artifactId>
  <version>0.1.0</version>
</dependency>
----

=== Gradle

----
repositories {
    maven {
        url "http://dl.bintray.com/infinitape/etherjar"
    }
}

dependencies {
   compile "io.infinitape:etherjar:0.1.0"
}
----

== Examples

How to make 'web3_clientVersion' JSON-RPC call:

[source,java]
----
package example;

import DefaultRpcTransport;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collections;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class Main {

    public static void main(String[] args)
            throws URISyntaxException, IOException, ExecutionException, InterruptedException {

        DefaultRpcTransport transport =
                new DefaultRpcTransport(new URI("http://127.0.0.1:8545"));

        Future<String> req =
                transport.execute("web3_clientVersion", Collections.EMPTY_LIST, String.class);

        System.out.println(String.format("Client version: %s", req.get()));
    }
}
----

== Licence

Apache 2.0

{'fraction_non_alphanumeric': 0.1473954222573007, 'fraction_numerical': 0.011049723756906077, 'mean_word_length': 4.352692713833157, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 45, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2672369', 'n_tokens_mistral': 1755, 'n_tokens_neox': 1670, 'n_words': 287}