Skip to content

sephynox/xrpl-rust

Repository files navigation

xrpl-rust Downloads

latest deps_status audit_status unit_status

A Rust library to interact with the XRPL. Based off of the xrpl-py library.

A pure Rust implementation for interacting with the XRP Ledger. The xrpl-rust crate simplifies the hardest parts of XRP Ledger interaction including serialization and transaction signing while providing idiomatic Rust functionality for XRP Ledger transactions and core server API (rippled) objects.

Interactions with this crate occur using data structures from this crate or core alloc types with the exception of serde for JSON handling and indexmap for dictionaries. The goal is to ensure this library can be used on devices without the ability to use a std environment.

WIP - Help Welcome

🛠 Installation rustc

To install, add the following to your project's Cargo.toml:

[dependencies.xrpl]
version = "0.1.1"

🕮 Documentation docs_status

Documentation is available here.

⛮ Quickstart

TODO - Most core functionality is in place and working.

In Progress:

  • Models
  • Asynchronous ledger interactions
    • JSON RPC
    • API
    • Websocket
  • Benchmarks
  • Integration tests

⚐ Flags

By default, the std and core features are enabled. To operate in a #![no_std] environment simply disable the defaults and enable features manually:

[dependencies.xrpl]
version = "0.1.1"
default-features = false
features = ["core", "models"]

‼ Exported Dependencies

Serde

This project exports serde for handling JSON.

Indexmap

This project exports indexmap as HashMap is not supported in the alloc crate. TODO: Support both.

⚙ #![no_std]

This library aims to be #![no_std] compliant.

🕊 Contributing contributors_status

If you want to contribute to this project, see CONTRIBUTING.

🗎 License license_status

The xrpl-rust library is licensed under the ISC License. See LICENSE for more information.