🛡️❄️️ Kotlin libraries for Ethereum based Android development
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
accounts-base
accounts-geth
accounts-kethereum
android-common
blockies
buildsystem
ci
crypto
docs
eip712-adapter-moshi
eip712
ethereum-rpc-retrofit
ethereum-rpc
ethereum
gradle/wrapper
mnemonic-android
mnemonic
models
security
ticker
utils-ethereum
utils-testing
utils
.gitignore
.travis.yml
LICENSE
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
lint.xml
settings.gradle

README.md

Svalinn Android

Jitpack Build Status codecov

🛡️❄️️ Kotlin libraries for Ethereum based Android development

WARNING: Under development. Libraries right now target the Rinkeby test network. Switching to mainnet (or any other ethereum network) can be done by the user but it's its responsibility in doing so.

Goal

This is a collection of libraries that should make development of apps that interact with Ethereum easier. Some functionality should be moved to Kethereum

Download

Follow instructions on https://jitpack.io/#gnosis/svalinn-kotlin

In your Gradle file:

Accounts Module

Main repository to create an account and load active accounts and to sign data with those accounts.

Two main implementations are available:

accounts-kethereum - which uses some of the utilities of the Kethereum project to manage accounts.

implementation 'com.github.gnosis:svalinn-kotlin:accounts-kethereum:<version>'

accounts-geth - which uses go-ethereum to manage/create/sign transactions.

implementation 'com.github.gnosis:svalinn-kotlin:accounts-geth:<version>'

Android Common Module

This module has Android specific utilities that we use in our mobile applications. We are in the process of refactoring and abstracting this module even more.

implementation 'com.github.gnosis:svalinn-kotlin:android-common:<version>'

Blockies Module

Provides the Ethereum Blockies implementation. Also contains an Android ImageView so it can be used easily in Android applications.

implementation 'com.github.gnosis:svalinn-kotlin:blockies:<version>'

Crypto Module

Crypto specific module for key generation, signing and hashing.

implementation 'com.github.gnosis:svalinn-kotlin:crypto:<version>'

Ethereum Modules

Modules for easy interaction with the Ethereum blockchain

More info

implementation 'com.github.gnosis:svalinn-kotlin:ethereum:<version>'
implementation 'com.github.gnosis:svalinn-kotlin:ethereum-rpc:<version>'
implementation 'com.github.gnosis:svalinn-kotlin:ethereum-rpc-retrofit:<version>'

Mnemonic Module

Implementation of BIP39 for mnemonic phrase generation. Words need to be provided by the user in the core module by implementing the WordListProvider interface.

implementation 'com.github.gnosis:svalinn-kotlin:mnemonic:<version>'

If you wish to use BIP39 on Android you only need to include the mnemonic-android module which already provides the English and Chinese word lists via Resources.raw.

implementation 'com.github.gnosis:svalinn-kotlin:mnemonic-android:<version>'

Models Module

Our internal model for representing entities in Ethereum and Android.

implementation 'com.github.gnosis:svalinn-kotlin:models:<version>'

Security Module

Android utils to encrypt/decrypt data and manage app security features such as unlocked status and fingerprint registry.

implementation 'com.github.gnosis:svalinn-kotlin:security:<version>'

Ticker Module

Our fiat conversion module.

implementation 'com.github.gnosis:svalinn-kotlin:ticker:<version>'

Utils Module

General utilities that we use across our apps.

implementation 'com.github.gnosis:svalinn-kotlin:utils:<version>'

Utils Testing Module

General utilities for testing our apps.

implementation 'com.github.gnosis:svalinn-kotlin:utils-testing:<version>'