9 unstable releases (3 breaking)
0.6.0 | Nov 11, 2019 |
---|---|
0.5.1 | Oct 31, 2019 |
0.4.1-beta.3 | Oct 10, 2019 |
0.4.1-beta.1 | Sep 28, 2019 |
0.3.0 | Dec 12, 2018 |
#64 in #suite
53 downloads per month
Used in 2 crates
1.5MB
6.5K
SLoC
Interledger.rs
This crate bundles all libraries that comprise the Rust implementation of the Interledger Protocol Suite.
lib.rs
:
Interledger.rs
A library bundle for the Rust implementation of the Interledger Protocol stack.
interledger-api
HTTP API for interacting with the Interledger.rs components. See the ilp-node for how this is used in practice.
interledger-btp
Client and server implementations of the Bilateral Transport Protocol (BTP). This is a WebSocket-based protocol for exchanging ILP packets between directly connected peers.
Because this protocol uses WebSockets, only one party needs to have a publicly-accessible HTTPS endpoint but both sides can send and receive ILP packets.
interledger-ccp
This crate implements the Connector-to-Connector Protocol (CCP) for exchanging routing
information with peers. The CcpRouteManager
processes Route Update and Route Control
messages from accounts that we are configured to receive routes from and sends route
updates to accounts that we are configured to send updates to.
The CcpRouteManager
writes changes to the routing table to the store so that the
updates are used by the Router
to forward incoming packets to the best next hop
we know about.
interledger-http
Client and server implementations of the ILP-Over-HTTP bilateral communication protocol. This protocol is intended primarily for server-to-server communication between peers on the Interledger network.
interledger-ildcp
Client and server implementations of the Interledger Dynamic Configuration Protocol (ILDCP).
This is used by clients to query for their ILP address and asset details such as asset code and scale.
interledger-router
A service that routes ILP Prepare packets to the correct next account based on the ILP address in the Prepare packet based on the routing table.
A routing table could be as simple as a single entry for the empty prefix ("") that will route all requests to a specific outgoing account.
Note that the Router is not responsible for building the routing table,
only using the information provided by the store. The routing table in the
store can either be configured or populated using the CcpRouteManager
(see the interledger-ccp
crate for more details).
interledger-spsp
Client and server implementations of the Simple Payment Setup Protocol (SPSP).
This uses a simple HTTPS request to establish a shared key between the sender and receiver that is used to authenticate ILP packets sent between them. SPSP uses the STREAM transport protocol for sending money and data over ILP.
interledger-stream
Client and server implementations of the Interledger STREAM transport protocol.
STREAM is responsible for splitting larger payments and messages into smaller chunks of money and data, and sending them over ILP.
Dependencies
~6–22MB
~362K SLoC