6 releases
0.3.0 | Nov 11, 2019 |
---|---|
0.2.0 | Oct 29, 2019 |
0.1.1-beta.3 | Oct 10, 2019 |
0.1.1-beta.1 | Sep 28, 2019 |
#578 in HTTP server
34 downloads per month
Used in 5 crates
245KB
5.5K
SLoC
Interledger implementation in Rust 💸
Requirements
All crates require Rust 2018 edition and are tested on the following channels:
stable
Connecting to the Testnet
See the testnet instructions to quickly connect to the testnet with a bundle that includes the Interledger.rs node and settlement engines.
Understanding Interledger.rs
- HTTP API
- Rust API
- Interledger.rs Architecture
- Interledger Forum for general questions about the Interledger Protocol and Project
Installation and Usage
To run the Interledger.rs components by themselves (rather than the testnet-bundle
), you can follow these instructions:
Using Docker
Prerequisites
- Docker
Install
docker pull interledgerrs/ilp-node
docker pull interledgerrs/ilp-cli
docker pull interledgerrs/ilp-settlement-ethereum
Run
# This runs the sender / receiver / router bundle
docker run -it interledgerrs/ilp-node
# This is a simple CLI for interacting with the node's HTTP API
docker run -it --rm interledgerrs/ilp-cli
# This includes the Ethereum Settlement Engines written in Rust
docker run -it interledgerrs/ilp-settlement-ethereum
Building From Source
Prerequisites
Install
# 1. Clone the repsitory and change the working directory
git clone https://github.com/interledger-rs/interledger-rs && cd interledger-rs
# 2. Build interledger-rs (add `--release` to compile the release version, which is slower to compile but faster to run)
cargo build
You can find the Interledger Settlement Engines in a separate repository.
Run
# This runs the ilp-node
cargo run --bin ilp-node -- # Put CLI args after the "--"
cargo run --bin ilp-cli -- # Put CLI args after the "--"
Append the --help
flag to see available options.
See configuration for more details on how the node is configured.
Configuring Redis
We have some account settings such as amount_per_minute_limit
or packets_per_minute_limit
. In order to enable these options, you need to load the redis-cell module as follows. You don't need to load this module unless you use the rate-limit options.
# in your redis config file
# libredis_cell.so file will be found in crates/interledger-store/external
loadmodule /path/to/modules/libredis_cell.so
or you can specify an argument when you start up the redis instance as follows.
redis-server --loadmodule /path/to/modules/libredis_cell.so
Examples
See the examples for demos of Interledger functionality and how to use the Interledger.rs implementation.
Contributing
Contributions are very welcome and if you're interested in getting involved, see CONTRIBUTING.md. We're more than happy to answer questions and mentor you in making your first contributions to Interledger.rs (even if you've never written in Rust before)!
Dependencies
~28–42MB
~850K SLoC