All Projects → hyperledger → Quilt

hyperledger / Quilt

Licence: apache-2.0
Hyperledger Quilt - An implementation of the Interledger Protocol

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Quilt

Rfcs
Specifications for Interledger and related protocols
Stars: ✭ 345 (+62.74%)
Mutual labels:  blockchain, payments
Lnbook
Mastering the Lightning Network (LN)
Stars: ✭ 931 (+339.15%)
Mutual labels:  blockchain, payments
Lnd
Lightning Network Daemon ⚡️
Stars: ✭ 5,623 (+2552.36%)
Mutual labels:  blockchain, payments
Eclair
A scala implementation of the Lightning Network.
Stars: ✭ 892 (+320.75%)
Mutual labels:  blockchain, payments
Hanzo.js
🚀 Hanzo JavaScript SDK. Develop cutting-edge decentralized applications.
Stars: ✭ 128 (-39.62%)
Mutual labels:  blockchain, payments
Bitxhub
Interchain protocol 跨链协议
Stars: ✭ 286 (+34.91%)
Mutual labels:  blockchain, interoperability
Bitgosdk Php
BitGo SDK written in PHP
Stars: ✭ 22 (-89.62%)
Mutual labels:  blockchain, payments
Eclair Mobile
An Android wallet for the Lightning Network
Stars: ✭ 231 (+8.96%)
Mutual labels:  blockchain, payments
Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (-40.57%)
Mutual labels:  blockchain, interoperability
Ion
General interoperability framework for trustless cross-system interaction
Stars: ✭ 122 (-42.45%)
Mutual labels:  blockchain, interoperability
Mortgageblockchainfabric
Mortgage Processing App using Hyperledger Fabric Blockchain. Uses channels for privacy and access, and restricts read/write previleges through endorsement policies
Stars: ✭ 45 (-78.77%)
Mutual labels:  blockchain, payments
Interledger Rs
An easy-to-use, high-performance Interledger implementation written in Rust
Stars: ✭ 155 (-26.89%)
Mutual labels:  blockchain, interoperability
Raiden
Raiden Network
Stars: ✭ 1,825 (+760.85%)
Mutual labels:  blockchain, payments
Blocknet
Official Blocknet cryptocurrency wallet
Stars: ✭ 179 (-15.57%)
Mutual labels:  blockchain, interoperability
Blockchain Wallet
区块链钱包技术指南
Stars: ✭ 205 (-3.3%)
Mutual labels:  blockchain
Stacks Blockchain
The Stacks 2.0 blockchain implementation
Stars: ✭ 2,549 (+1102.36%)
Mutual labels:  blockchain
Ark Node
💸 CryptoCurrency for all
Stars: ✭ 203 (-4.25%)
Mutual labels:  blockchain
Alipay
Alipay Node.js SDK 基于最新版蚂蚁金服 支付宝开发文档
Stars: ✭ 203 (-4.25%)
Mutual labels:  payments
Iroha
Iroha - A simple, enterprise-grade decentralized ledger
Stars: ✭ 210 (-0.94%)
Mutual labels:  blockchain
Elixir Node
Elixir full node implementation of the aeternity specification
Stars: ✭ 208 (-1.89%)
Mutual labels:  blockchain

Hyperledger Quilt Discuss twitter

circle-ci codecov lgtm-cq lgtm-alerts issues

Quilt is a Java implementation of the Interledger protocol.

This library can be used to send and receive Interledger payments using STREAM. It also supports a variety of other core Interledger primitives and protocols.

Note that this library does not implement a full Java Connector. For this functionality, see the Java ILP Connector project, which is built using Quilt.

Modules

Quilt is organised as a Maven multi-module project. Each module exists in a subdirectory that has its own child POM and README file. Dependency and plugin versions are managed in the parent project.

Issues are labelled and prefixed to make it easy to identify which project they relate to.

ilp-core GitHub issues

The ilp-core module is the base library for any Interledger Java projects, providing service interfaces, packet definitions, and data models supporting the ILPv4 protocol (defined in IL-RFC-27).

These primitives form the foundation of the Interledger suite of protocols, and are used throughout the other modules in this project.

ILP Module Javadoc Link
ilp-core Javadocs

READ MORE

btp-core GitHub issues

The btp-core module contains primitives to support the Bilateral Transfer Protocol (BTP v2.0) as defined by IL-RFC-23.

BTP Module Javadoc Link
btp-core Javadocs

codecs-parent

The codecs-parent module contains an encoding and decoding framework plus serializers for ASN.1 OER formats defined in each IL-RFC. This module supports all primitives for the following protocols: ILP v4.0, IL-DCP v1.0, BTP 2.0, and STREAM v1.0.

Codec Module Javadoc Link
codecs-framework Javadocs
codecs-btp Javadocs
codecs-ilp Javadocs
codecs-ildcp Javadocs
codecs-stream Javadocs

ildcp-core GitHub issues

The ildcp-core module contains primitives to support the Interledger Dynamic Configuration Protocol (IL-DCP v1.0) as defined by IL-RFC-31.

IL-DCP Module Javadoc Link
ildcp-core Javadocs

jackson-datatypes GitHub issues

The jackson-datatypes module contains utilities to marshal and unmarshal various Quilt primitives to and from JSON using the Jackson library.

Jackson Module Javadoc Link
jackson-datatypes Javadocs

link-parent

The link-parent module contains libraries that can be used as a network transport for Interledger accounts. Currently supported links are ILP-over-HTTP as defined in IL-RFC-35.

Link Module Javadoc Link
link-core Javadocs
link-ilp-over-http Javadocs

spsp-parent GitHub issues

The spsp-parent module contains libraries that can be used to resolve Payment Pointers (as defined in IL-RFC-26 as well as the broader Simple Payment Setup Protocol (SPSP) as defined in IL-RFC-009.

SPSP Module Javadoc Link
spsp-core Javadocs
spsp-client Javadocs

stream-parent GitHub issues

The stream-parent module contains libraries for sending and receiving packetized payments using the STREAM protocol, defined in IL-RFC-29.

Stream Module Javadoc Link
stream-core Javadocs
stream-client Javadocs
stream-receiver Javadocs

examples GitHub issues

The examples modules shows how to use the Quilt library in your code.

READ MORE

Usage

Requirements

Unlimited Strength Encryption Policy Files

In order to properly build this project, you must download and install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy files. For more details, follow the instructions here.

Maven

Modules in this library can be included in your Maven project by adding the Maven dependency for the module you would like to use. For example, to import ilp-core, use the following coordinates:

<dependencies>
  ...
  <dependency>
    <groupId>org.interledger</groupId>
    <artifactId>ilp-core</artifactId>
    <version>1.0.3</version>
  </dependency>
  ...
</dependencies>

Gradle

Modules in this library can be included in your Gradle project by adding the Maven dependency for the module you would like to use. For example, to import ilp-core, use the following coordinates:

dependencies {
    ...
    compile group: 'org.interledger', name: 'ilp-core', version: '1.0.3'
    ...
}

Artifacts

Artifacts for this project are published to Maven Central. For a complete list, see: https://search.maven.org/search?q=g:org.interledger.

Development

We welcome any and all submissions, whether it's a typo, bug fix, or new feature. To get started, first download the code:

git clone https://github.com/hyperledger/quilt
cd quilt

Maven

This project uses Maven to manage dependencies and other aspects of the build. To install Maven, follow the instructions at https://maven.apache.org/install.html.

Snapshot dependencies for this library can be included in your project by first adding a Snapshot Repository to your pom.xml file, like this:

<repositories>
    ...
    <snapshotRepository>
        <id>sonatype</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </snapshotRepository>
    ...
</repositories>

Next, add the following Maven dependency:

<dependencies>
  ...
  <dependency>
    <groupId>org.interledger</groupId>
    <artifactId>ilp-core</artifactId>
    <version>HEAD-SNAPSHOT</version>
  </dependency>
  ...
</dependencies>

Gradle

To import this library into a project that uses gradle, first add the Snapshot Repository to your gradle.properties file, like this:

repositories {
    mavenCentral()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
}

Next, import this library as a dependency, like this:

dependencies {
    ...
    compile group: 'org.interledger', name: 'ilp-core', version: 'HEAD-SNAPSHOT'
    ...
}

Docker

By default, the build runs integration tests which depend on Docker daemon to be running. If you don't have Docker running, you can skip integration tests using -DskipITs (e.g. mvn clean install -DskipITs).

Otherwise, to install docker, follow the instructions at https://docs.docker.com/install/

Build the Project

To build the project, execute the following command:

$ mvn clean install

Checkstyle

The project uses checkstyle to keep code style consistent. All Checkstyle checks are run by default during the build, but if you would like to run checkstyle checks, use the following command:

$ mvn checkstyle:checkstyle
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].