An easy-to-use, high-performance Interledger implementation written in Rust
Interledger implementation in Rust :moneywithwings:
All crates require Rust 2018 edition and are tested on the following channels:
See the testnet instructions to quickly connect to the testnet with a bundle that includes the Interledger.rs node and settlement engines.
To run the Interledger.rs components by themselves (rather than the
testnet-bundle), you can follow these instructions:
bash # docker pull interledgerrs/ilp-node docker pull interledgerrs/ilp-cli docker pull interledgerrs/ilp-settlement-ethereum
docker run -it interledgerrs/ilp-node
docker run -it --rm interledgerrs/ilp-cli
docker run -it interledgerrs/ilp-settlement-ethereum ```
git clone https://github.com/interledger-rs/interledger-rs && cd interledger-rs
--releaseto 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.
cargo run --bin ilp-node -- # Put CLI args after the "--"
cargo run --bin ilp-cli -- # Put CLI args after the "--" ```
--helpflag to see available options.
See configuration for more details on how the node is configured.
We have some account settings such as
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
See the examples for demos of Interledger functionality and how to use the Interledger.rs implementation.
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)!