• This repository has been archived on 01/Jun/2022
  • Stars
    star
    219
  • Rank 180,091 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hyperledger Quilt - An implementation of the Interledger Protocol

Hyperledger Quilt

⚠️ ⚠️ ⚠️

Hyperledger Quilt has been moved to End of Life status by the original project maintainers. Although Hyperledger Quilt is not currently being developed or maintained, the code is still available under an open source license so you would be welcome to reactivate this project. If you are interested in continuing development of this code, please consider submitting a PR at https://github.com/hyperledger/hyperledger-hip and sending and email to [email protected]. See more details about project proposals at: https://hyperledger.github.io/hyperledger-hip/

⚠️ ⚠️ ⚠️

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

More Repositories

1

composer

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
JavaScript
1,629
star
2

sawtooth-core

Core repository for Sawtooth Distributed Ledger
Python
1,424
star
3

fabric

THIS IS A READ-ONLY historic repository. Current development is at https://gerrit.hyperledger.org/r/#/admin/projects/fabric . pull requests not accepted
Go
1,168
star
4

burrow

https://wiki.hyperledger.org/display/burrow
Go
1,027
star
5

iroha

Iroha - A simple, decentralized ledger
C++
989
star
6

indy-sdk

indy-sdk
Rust
669
star
7

education

Hyperledger training material
JavaScript
372
star
8

ursa

Hyperledger Ursa (a shared cryptographic library) has moved to end-of-life status, with the components of Ursa still in use moved to their relevant Hyperledger projects (AnonCreds, Indy, Aries and Iroha).
Rust
319
star
9

sawtooth-supply-chain

Sawtooth Supply Chain
JavaScript
261
star
10

aries-framework-go

Hyperledger Aries Framework Go provides packages for building Agent / DIDComm services.
Go
240
star
11

composer-sample-networks

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
JavaScript
222
star
12

grid

Grid has moved to end-of-life status.
Rust
208
star
13

fabric-chaincode-evm

Go
175
star
14

avalon

Hyperledger Avalon enables privacy in blockchain transactions, moving intensive processing from a main blockchain to improve scalability and latency, and to support attested Oracles
Python
136
star
15

iroha-android

Android library for Iroha, a Distributed Ledger Technology (blockchain) platform.
Java
107
star
16

composer-sample-applications

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
JavaScript
105
star
17

education-cryptomoji

JavaScript
97
star
18

fabric-chaintool

Clojure
91
star
19

sawtooth-next-directory

HTML
87
star
20

aries-framework-dotnet

Aries Framework .NET for building multiplatform SSI services
C#
84
star
21

sawtooth-marketplace

Python
84
star
22

fabric-sdk-rest

Read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-sdk-rest
JavaScript
79
star
23

sawtooth-pbft

Sawtooth PBFT consensus engine
Rust
76
star
24

composer-tools

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
JavaScript
74
star
25

caliper

A blockchain benchmark framework to measure performance of multiple blockchain solutions
JavaScript
74
star
26

sawtooth-seth

Rust
73
star
27

transact

Transact is a transaction execution platform designed to be used as a library or component when implementing distributed ledgers, including blockchains.
Rust
66
star
28

fabric-baseimage

Deprecated Fabric Base Images
Shell
54
star
29

sawtooth-sabre

Sawtooth Sabre (WASM Smart Contracts)
Rust
52
star
30

education-sawtooth-simple-supply

Python
51
star
31

fabric-api-archive

Read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-api
Java
49
star
32

indy-crypto

Archive of Indy Crypto library. Superseded by the Hyperledger Ursa Project.
Rust
49
star
33

aries-toolbox

Hyperledger Aries
Vue
43
star
34

indy-agent

Archive of Indy Reference Agents and Tools. Superseded by the Hyperledger Aries Project.
Python
43
star
35

composer-knowledge-wiki

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
40
star
36

aries-mobile-agent-xamarin

C#
39
star
37

fabric-chaintool-original

THIS IS A READ-ONLY historic repository. Current development is at https://gerrit.hyperledger.org/r/#/admin/projects/fabric-chaintool . pull requests not accepted
Clojure
38
star
38

sawtooth-explorer

TypeScript
37
star
39

iroha-dotnet

.NET library for Hyperledger Iroha, a simple distributed ledger.
C++
32
star
40

iroha-api

Iroha API
HTML
32
star
41

fabric-api

Read-only historic repo. Current development is at https://gerrit.hyperledger.org/r/#/admin/projects/fabric-api . pull requests not accepted
Java
32
star
42

sawtooth-sdk-javascript

JavaScript
30
star
43

composer-sample-models

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
JavaScript
29
star
44

hyperledgerwp

Hyperledger Whitepaper
TeX
28
star
45

sawtooth-sdk-go

Go
28
star
46

iroha-scala

Scala library for Hyperledger Iroha, a simple distributed ledger. http://iroha.tech
Scala
28
star
47

composer-vscode-plugin

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
TypeScript
27
star
48

sawtooth-sdk-rust

Rust
27
star
49

aries-protocol-test-suite

Test Suite for testing protocol compliance of Aries Agents
Python
26
star
50

sawtooth-raft

Rust
26
star
51

aries-acapy-plugin-toolbox

Hyperledger Aries
Python
24
star
52

indy-anoncreds

Python
24
star
53

sawtooth-rfcs

22
star
54

indy-sdk-react-native

React Native wrapper around Indy SDK Java and Objective-C wrappers.
Java
22
star
55

ci-management

Read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/ci-management
Shell
20
star
56

sawtooth-sdk-java

Java
19
star
57

indy-client

Sovrin client
Python
18
star
58

aries-cloudagent-loadgenerator

aries-cloudagent-loadgenerator
Kotlin
17
star
59

grid-contrib

Grid has moved to end-of-life status.
JavaScript
17
star
60

sawtooth-sdk-python

Python
17
star
61

iroha-ametsuchi

Flatbuffer database for the Hyperledger Iroha project.
C++
15
star
62

aries-framework-go-ext

Go
14
star
63

ursa-rfcs

Hyperledger Ursa has moved to end-of-life status.
TeX
13
star
64

composer-atom-plugin

⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
CoffeeScript
12
star
65

fabric-cop

This is a read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-cop no pull requests accepted
Go
12
star
66

aries-sdk-javascript

C++
12
star
67

sawtooth-private-utxo

11
star
68

sawtooth-sdk-dotnet

C#
11
star
69

ursa-wrapper-go

Hyperledger Ursa has moved to end-of-life status.
Go
11
star
70

indy-common

Common utility functions for other sovrin repos (like sovrin-client, sovrin-node etc)
Python
10
star
71

sawtooth-docs

Documentation source for Sawtooth Lake. Published docs at the link.
Python
10
star
72

iroha-docker

Dockerfiles for Iroha
Shell
10
star
73

sawtooth-poet

Python
9
star
74

grid-rfcs

Grid has moved to end-of-life status.
8
star
75

cello-analytics

Shell
8
star
76

sawtooth-mktplace

Example trading system for Sawtooth Lake distributed ledger.
Python
8
star
77

sawtooth-sdk-swift

Sawtooth SDK Swift
Swift
8
star
78

indy-ledger

Python
8
star
79

sawtooth-validator

This repo builds a validator (miner) for the Sawtooth Lake ledger. Docs at the link:
Python
7
star
80

iroha-network-tools

Network tools for Hyperledger Iroha
7
star
81

smart-contracts-wg

Repository for HL Smart Contracts Working Group working products
7
star
82

aries-sdk-java

Java
7
star
83

learning-materials-dev

https://wiki.hyperledger.org/display/LMDWG
Shell
7
star
84

sawtooth-arcade

Example transaction families for Sawtooth Lake distributed ledger.
Python
7
star
85

sawtooth-lib

Rust
6
star
86

sawtooth-dev-tools

Development environment and tools for Sawtooth Lake distributed ledger.
Shell
6
star
87

fabric-test-resources-gerrit

READ ONLY MIRROR of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-test-resources NO PULL REQUESTS
Java
6
star
88

transact-contrib

5
star
89

homebrew-fabric

Ruby
5
star
90

sawtooth-devmode

Simple consensus engine for Hyperledger Sawtooth for developers
Python
5
star
91

sawtooth-ansible

5
star
92

aries-sdk-ruby

Rust
5
star
93

composer-sample-applications-hlfv1

Sample applications for Composer (with Fabric v1.0 support)
JavaScript
5
star
94

sawtooth-sdk-cxx

C++
4
star
95

sawtooth-docs-archive

Source files for the Hyperledger Sawtooth website
HTML
4
star
96

IDWG

All resources related to the Identity Working Group in Hyperledger
4
star
97

fabric-docs

Read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-docs
4
star
98

transact-rfcs

3
star
99

fabric-gerrit

JavaScript
3
star
100

tf-security

Documentation and other things for the security task force.
TeX
3
star