This project is now a part of Hyperledger Quilt.
Thanks to all of the core contributors that got this work to this point.
A Java foundation for an Interledger Connector, patterned off of the Javascript Connector ilp-connector.
- v0.2.0-SNAPSHOT Initial commit of Routing interfaces.
- v0.1.0-SNAPSHOT Initial commit of interfaces and abstract class to construct a Java Connector.
- Routing interfaces and abstractions.
- [] Database-backed routing table.
- [] Quoting interfaces and abstractions.
- [] Unit Tests
- [] Transition to hyperledger quilt project.
- Update gitter and other badges...
- The Issues List on on Github.
This project is the basis for an Interledger Connector, but it is not itself a complete Connector implementation. Instead, this project provides interfaces and abstract implementations that illustrate one way to organize a Connector in Java, including configuration, startup, ledger communication, routing, and quoting.
This project relies on an ILP Plugin architecture where plugins can be developed and installed into this Connector. The primary example of such a plugin is the Ledger Plugin defined in the java-ilp-plugin project. Implementations of LedgerPlugin are intended to be run inside of the Connector's runtime, allowing a Connector to interact with any type of ledger implementation (i.e., XRP Ledger, Bitcoin, Ether, FiveBells, Chain Sequence, etc) using a standard interface.
The following diagram provides a high-level view of this arrangement:
Events/Messages──────────────┬────────────────Events/Messages
│ │ │
│ ▼ │
│ ┌────────────────────────────┐ │
│ ┌───│ Connector │───┐ │
│ │ └────────────────────────────┘ │ │
│ │ │ │ │
│ g.usd. │ g.jpy. │
│ │ g.eur. │ │
│ │ │ │ │
│ │ │ │ │
│ ▽ ▽ ▽ │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
└──│LPI-1│ │LPI-2│ │LPI- │──┘
└─────┘ └─────┘ └─────┘
△ △ △
│ │ │
▽ ▽ ▽
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Ledger 1 │ │ Ledger 2 │ │ Ledger 3 │
└──────────┘ └──────────┘ └──────────┘
TBD.
TBD.
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.
git clone https://github.com/interledger/java-ilp-connector
cd java-ilp-connector
To build the project, execute the following command:
$ mvn clean install
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
This project is meant to be extended with your own implementation. The following is a list of open-source implementations of an Interledger Connector, built upon this project:
Any contribution is very much appreciated!
This code is released under the Apache 2.0 License. Please see LICENSE for the full text.