#interledger #client #stream #plugin #moneyd

yanked ilp

Interledger client library

Uses old Rust 2015

0.2.1 Nov 28, 2018
0.2.0 Nov 15, 2018
0.1.0 Nov 4, 2018

#19 in #interledger

Apache-2.0

190KB
4.5K SLoC

ilp.rs

Interledger implementation in Rust 💸

CircleCI

Installation

  • Install Rust (using rustup is recommended)
  • Install moneyd
  • cargo install ilp

Usage

Make sure you're running moneyd first! (moneyd local can be used for testing purposes)

Running an SPSP Server

ilp spsp server --port 3000

(You can see the full options by running ilp spsp server --help)

Sending an SPSP Payment

ilp spsp pay --receiver http://localhost:3000/bob --amount 1000

(You can see the full options by running ilp spsp pay --help)

TODOs

STREAM

  • Stream server
  • Handle incoming money
  • Check stream packet responses correspond to the right requests
  • Sending data
  • Stream and connection closing
  • Max packet amount
  • Window + congestion avoidance
  • Respect flow control
  • ERROR HANDLING
  • Enforce minimum exchange rate (optional)

Language bindings

  • Node using Neon
  • WASM using wasm-pack
  • Python

Plugin

  • Request ID handling - should the plugin track the next outgoing ID?
  • Balance logic
  • Payment channels
  • External store

Connector

  • Static routing table, multiple plugins
  • Routing protocol
  • Scaling plugin store and other persistance

Performance

  • Zero-copy parsing

Dependencies

~30–41MB
~811K SLoC