8000 GitHub - interledger/interledger-rs: An easy-to-use, high-performance Interledger implementation written in Rust · GitHub
[go: up one dir, main page]

Skip to content
  • About

    An easy-to-use, high-performance Interledger implementation written in Rust

    Topics

    Resources

    Contributing

    Stars

    207 stars

    Watchers

    23 watching

    Forks

    Latest commit

     

    History

    1,337 Commits

    Folders and files

    Repository files navigation

    Interledger.rs


    Interledger implementation in Rust 💸

    crates.io Interledger.rs Documentation CircleCI rustc Rust Docker Image License

    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

    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)!

    About

    An easy-to-use, high-performance Interledger implementation written in Rust

    Topics

    Resources

    Contributing

    Stars

    207 stars

    Watchers

    23 watching

    Forks

    Releases

    Packages

    Used by

    Contributors

    Languages

    0