Symbol SDK for Java/Kotlin/Scala

symbol-sdk-vertx-client symbol-sdk-okhttp-client Build Status Coverage Status License

The Symbol SDK for Java, Kotlin and Scala.

Requirements

Installation

Each SDK user can depend on the best library for its need (example, symbol-sdk-vertx-client for server developers or symbol-sdk-okhttp-client for android developers).

Maven

<dependency>
    <groupId>io.nem</groupId>
    <artifactId>symbol-sdk-vertx-client</artifactId>
    <version>0.20.1</version>
</dependency>

OR

<dependency>
    <groupId>io.nem</groupId>
    <artifactId>symbol-sdk-okhttp-client</artifactId>
    <version>0.20.1</version>
</dependency>

Gradle

compile 'io.nem:symbol-sdk-vertx-client:0.20.1

OR

compile 'io.nem:symbol-sdk-okhttp-client:0.20.1

SBT

libraryDependencies += "io.nem" % "symbol-sdk-vertx-client" % "0.20.1"

OR

libraryDependencies += "io.nem" % "symbol-sdk-okhttp-client" % "0.20.1"

Usage

Surf the documentation to get started into Symbol development. You will find self-paced guides and useful code snippets using the Java SDK.

To get the full description of the available classes and their functions, check the SDK reference.

Pacakge Organization

The SDK is composed of multiple sub-modules/folders:

Module Description
sdk-core This module includes the model objects, interfaces and common utility classes. It is Vertx, ok-http, gson, etc agnostic. Clients won't depend on this jar directly, they will depend on one of the implementations below.
sdk-vertx-client The symbol-sdk-java Implementation that uses Vertx and generated symbol-openapi-vertx-client lib and dtos. A client may depend on this SDK implementation if Vertx is the selected implementation (e.g. server users).
sdk-okhttp-client The symbol-sdk-java Implementation that uses OkHttp and the generated symbol-openapi-okhttp-gson-client. A client may depend on this SDK implementation if OkHttp is the selected implementation (e.g. android users).
integration-tests This module is in charge of running integration tests against all implementations. The integration tests exercise how the implementation work against a given catapult server.

Open API Generated Clients

The SDK libs depend on Open API 3 generated clients. The clients Jars are automatically generated and deployed into Maven central by the symbol-openapi-generator project.

If you want to change or tune the generated libraries, you would need to clone/fork symbol-openapi-generator repository.

Getting help

Use the following available resources to get help:

Contributing

This project is developed and maintained by NEM Foundation.

Contributions are welcome and appreciated. Check CONTRIBUTING for information on how to contribute.

You can also find useful notes for developers under our documentation guidelines section.

License

Copyright (c) 2018-present NEM Licensed under the Apache License 2.0