<commit_before># Ethdroid : Easy-to-use Ethereum client wrapper for Android 

## Why using Ethdroid

If you think that smartphone is future of blockchain, **Ethdroid** is here to help you building amazing decentralized smartphone apps. 

This project was born as soon as the Geth community built the first android archive. Our needs was 
to allow an Android App communicate with an inproc Geth node.

Thanks to our hard work, we've reached our goals and built 3 differents use-cases of decentralized smartphone apps : 
* decentralized car sharing
* voting through blockchain
* location of peoples all arround the world

[Contact us](mailto:<EMAIL>) for more informations on our works.

With Ethereum-android it becomes easier to :
* instanciate an Ethereum go-ethereum inproc node, 
* manage accounts, 
* get nodes information, 
* send Ether 
* and also call smart-contracts. 

Futhermore **Rx-java 1** and its extensions simplify control of asynchronous flows and background processes.

This package can be used on **Android 22+** and with **Geth 1.6.2+**.

## Limitations / Roadmap

- Rx-Java 1 only. It is planned to upgrade to Rx-Java 2
- Geth v1.6+ compatibility. Work is in progress to be compatible with
- Private Blockchains only, because of Geth 1.4/1.5 limitations. A feature is planned to allow testnet/mainnet connections and will be released as soon as Ethereum-Android will be compatible with Geth 1.6.

## Download Ethdroid and set Geth version

Ethdroid and Geth are distribued throught ***jCenter***.

```Kotlin
repositories {
    jCenter()
}
```

Get it via Gradle with :

```Kotlin
dependencies {
    compile 'io.ethmobile:ethdroid:2.0.0-m1'
    compile 'org.ethereum:geth:1.6.2'
}
```

## Getting Started
### Start a Geth node 

With Ethdroid you can easly connect a smartphone to an Ethereum blockchain. 

You can connect to :
* Main network
* test network
* private network

Thanks to the Ethdroid.Builder class, you can customize your node. 

First of all, to create a Builder you have to provide the directory path where blockchain data files will be saved. 

Then, provide the chain configuration, or use the default ones. <commit_msg>EN #21 : update README including snapshots installation instructions<commit_after># Ethdroid : Easy-to-use Ethereum client wrapper for Android 

## Why using Ethdroid

If you think that smartphone is future of blockchain, **Ethdroid** is here to help you building amazing decentralized smartphone apps. 

This project was born as soon as the Geth community built the first android archive. Our needs was 
to allow an Android App communicate with an inproc Geth node.

Thanks to our hard work, we've reached our goals and built 3 differents use-cases of decentralized smartphone apps : 
* decentralized car sharing
* voting through blockchain
* location of peoples all arround the world

[Contact us](mailto:<EMAIL>) for more informations on our works.

With Ethereum-android it becomes easier to :
* instanciate an Ethereum go-ethereum inproc node, 
* manage accounts, 
* get nodes information, 
* send Ether 
* and also call smart-contracts. 

Futhermore **Rx-java 1** and its extensions simplify control of asynchronous flows and background processes.

This package can be used on **Android 22+** and with **Geth 1.6.2+**.

## Limitations / Roadmap

- Rx-Java 1 only. It is planned to upgrade to Rx-Java 2
- Geth v1.6+ compatibility. Work is in progress to be compatible with
- Private Blockchains only, because of Geth 1.4/1.5 limitations. A feature is planned to allow testnet/mainnet connections and will be released as soon as Ethereum-Android will be compatible with Geth 1.6.

## Download Ethdroid and set Geth version

Ethdroid and Geth ***stable*** versions are distribued throught ***jCenter***.

Because Geth project evolves independently of Ethdroid library. That's why you are free to set the 
latest compatible Geth version as dependency.

```Kotlin
repositories {
    jCenter()
}
dependencies {
    compile 'io.ethmobile:ethdroid:2.0.0-m2'
    compile 'org.ethereum:geth:1.6.3'
}
```

For current ***develop*** version of Ethdroid, you can download via : 

```Kotlin
repositories {
    maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local" }
}
dependencies {
    compile 'io.ethmobile:ethdroid:2.0.0-m2-SNAPSHOT'
    compile 'org.ethereum:geth:1.6.3'
}
```


## Getting Started
### Start a Geth node 

With Ethdroid you can easly connect a smartphone to an Ethereum blockchain. 

You can connect to :
* Main network
* test network
* private network

Thanks to the Ethdroid.Builder class, you can customize your node. 

First of all, to create a Builder you have to provide the directory path where blockchain data files will be saved. 

Then, provide the chain configuration, or use the default ones. 
{'fraction_non_alphanumeric': 0.07160751565762004, 'fraction_numerical': 0.011899791231732777, 'mean_word_length': 4.157158234660926, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2027708', 'n_tokens_mistral': 1443, 'n_tokens_neox': 1320, 'n_words': 641}