interledger-service 0.2.1

The core abstraction for the Interledger.rs implementation

interledger-service

This is the core abstraction used across the Interledger.rs implementation.

Inspired by tower, all of the components of this implementation are "services" that take a request type and asynchronously return a result. Every component uses the same interface so that services can be reused and combined into different bundles of functionality.

The Interledger service traits use requests that contain ILP Prepare packets and the related from/to Accounts and asynchronously return either an ILP Fullfill or Reject packet. Implementations of Stores (wrappers around databases) can attach additional information to the Account records, which are then passed through the service chain.

Example Service Bundles

The following examples illustrate how different Services can be chained together to create different bundles of functionality.

SPSP Sender

SPSP Client --> ValidatorService --> RouterService --> HttpOutgoingService

Connector

HttpServerService --> ValidatorService --> RouterService --> BalanceAndExchangeRateService --> ValidatorService --> HttpOutgoingService

STREAM Receiver

HttpServerService --> ValidatorService --> StreamReceiverService