Skip to content
Quant Network software development kit for the Java language
Branch: master
Clone or download
ruiwang-quant Develop (#17)
* develop new branch

* Feature/584 (#1)

* feature/584: Create Maven Project

* feature/584: Add newline at end of pom file

* feature/584: Add modules for the project

* feature/584: Add basic README.md

Signed-off-by: Rui Wang <rui.wang@quant.network>

* feature/584: Update project README.md

Signed-off-by: Rui Wang <rui.wang@quant.network>

* feature/584 Update POM

* Feature/ch764/review supporting documentation (#2)

* Updates license agreement with Quant Network details

* Updates README.md providing alignment with our other SDKs.

* Feature/754 (#3)

* feature/754: Initial SDK API

Signed-off-by: Rui Wang <rui.wang@quant.network>

* feature/754: Abstract DltTransaction, and create DltTransactionRequest

* feature/754: Update README.md

* Feature/796 (#4)

* feature/796 Initial essential module

* feature/796 Update encryptor and compressor

* feature/796 Update with UT

* feature/796 Remove unused print

* feature/796 Update repeat code, add byte and stream support

* feature/796 Update javadoc

* chore/ch968 Update groupID and package names to network.quant (#5)

* chore/ch968 Update groupID and package names to network.quant

* chore/ch968 Update any left io.overledger to network.quant

* feature/ch865 Bitcoin account implementation (#6)

* feature/ch865 Bitcoin account implementation

* feature/ch865 Code cleaning

* feature/ch865 Update UT and fix from PR comments

* feature/ch865 Update base on PR review

* feature/ch866 Add code for ethereum module (#7)

* feature/ch867 Add Ripple module (#8)

* feature/ch867 Add Ripple module

* feature/ch867 Update readme

* feature/ch867 Add Bundle module

* feature/ch868 add example module (#9)

* feature/ch868 add example module

* feature/ch868 Update code for final test and deploy

* feature/ch868 Update code for final test

* feature/ch868 Update raise last index of ripple txn

* feature/ch868 Update readme

* feature/ch868 Update maven badge

* feature/ch868 Update example readme images path

* feature/ch868 Update example module

* develop Release 1.0.0-alpha

* Update depenedency version of jackson, Bug fixing for DLT name (#14)

* Update depenedency version of jackson, Bug fixing for DLT name

* bug/ch1516 Update text to static final value

* 101 demo (#16)

* demo 101

* Update version to 1.0.0-alpha.2

* remove un-used prints

* update javadoc for xrp faucet helper

* Add balance wrapper method in OverledgerSDK

* Update readme
Latest commit 36d2586 Feb 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Develop (#17) Feb 26, 2019
overledger-sdk-api Develop (#17) Feb 26, 2019
overledger-sdk-bitcoin Develop (#17) Feb 26, 2019
overledger-sdk-bundle Develop (#17) Feb 26, 2019
overledger-sdk-essential Develop (#17) Feb 26, 2019
overledger-sdk-ethereum Develop (#17) Feb 26, 2019
overledger-sdk-example Develop (#17) Feb 26, 2019
overledger-sdk-ripple Develop (#17) Feb 26, 2019
.gitignore Raise version of Overledger SDK for java to 1.0.1-alpha (#12) Dec 18, 2018
LICENSE
README.md
pom.xml

README.md

License Maven Central

Overledger Java SDK

Developer's guide to use the Overledger SDK written in Java by Quant Network.

Introduction to the Overledger SDK

Overledger is an operating system that allows distributed apps (MApps) to connect to multiple distributed ledger technologies (DLTs) or blockchains. The Overledger SDK allows developers to create signed transactions & send them simultaneously to all supported DLTs.

Technologies

The Overledger SDK is maven compatible dependency written in Java

Overledger SDK Structure

Project Layer

Overledger SDK Working Flow

Project Flow

Prerequisites

  • Register for a free developer account on Quant Developer's Portal
  • You will require MAppId and access key:
    • Enter information regarding your application in order to get a MApp ID.
    • Verfify your Quant token, and create a access key.

Installation

Developers would have to install the Overledger SDK as a maven dependency.

<!-- SDK bundle -->
<dependency>
    <groupId>network.quant</groupId>
    <artifactId>overledger-sdk-bundle</artifactId>
    <version>1.0.0-alpha.2</version>
</dependency>

Tailored installation

When a full implementation of all dependencies is not required, it can be tailored to only implement those services that will be utilised.

overledger-sdk-api

API module defines Overledger SDK interfaces.

overledger-sdk-essential

This module gives a basic implementation of Overledger SDK API.

overledger-sdk-bitcoin

This module contains Bitcoin implementation of Overledger Account API.

overledger-sdk-ethereum

This module contains Ethereum implementation of Overledger Account API.

overledger-sdk-ripple

This module contains Ripple implementation of Overledger Account API.

overledger-sdk-bundle

This module bundles up API, essential, Bitcoin, Ethereum and Ripple modules.

Getting started

  • Follow README from overledger-sdk-api to create context.properties.

  • Then load properties into OverledgerContext

OverledgerContext.loadContext(...);
  • Instance OverledgerSDK Object, add accounts, and call Overledger SDK methods.
public class OverledgerSDKExample {
    
    private OverledgerSDK overledgerSDK;
    
    public OverledgerSDKExample(Account... accounts) {
        this.overledgerSDK = DefaultOverledgerSDK.newInstance(NETWORK.MAIN);
        this.overledgerSDK.addAccount(DLT.bitcoin.name(), accounts[0]);
        this.overledgerSDK.addAccount(DLT.ethereum.name(), accounts[1]);
        this.overledgerSDK.addAccount(DLT.ripple.name(), accounts[2]);
    }
    
    public OverledgerTransaction writeTransaction(OverledgerTransaction ovlTransaction) {
        return this.overledgerSDK.writeTransaction(ovlTransaction);
    }
    
}

Further information

This SDK acts as library for embedding in an application, and facilitates the execution and access of Quant Network's Overledger.

Refer wiki for more Details.

Stable Release Version JDK Version compatibility BPI Version compatibility Release Date
1.0.0-alpha 11+ 1.0.0-alpha *30/10/2018
1.0.0-alpha.1 11+ 1.0.0-alpha.1 *17/12/2018
1.0.0-alpha.2 11+ 1.0.0-alpha.1 *26/02/2019

Release notes

Release Notes
1.0.0-alpha v1.0.0-alpha release notes
1.0.0-alpha.1 v1.0.0-alpha.1 release notes
1.0.0-alpha.2 v1.0.0-alpha.2 release notes
You can’t perform that action at this time.