#json-rpc-client #json-rpc #ledger #client #api #http-client #xrpl

no-std xrpl_http_client

A strongly-typed client for the XRP Ledger JSONRPC API

5 releases (3 breaking)

0.16.3 Mar 27, 2024
0.16.0 Mar 27, 2024
0.15.0 Sep 24, 2023
0.14.0 Sep 9, 2023
0.13.0 Aug 17, 2023

#2300 in Magic Beans

Download history 1/week @ 2024-02-15 18/week @ 2024-02-22 15/week @ 2024-02-29 1/week @ 2024-03-07 1/week @ 2024-03-14 137/week @ 2024-03-21 111/week @ 2024-03-28 16/week @ 2024-04-04

264 downloads per month
Used in xrpl_cli

Apache-2.0

295KB
7K SLoC

XRP Ledger JSONRPC client

A strongly-typed client for the XRP Ledger HTTP JSONRPC API.

This crate is an unofficial, community-driven effort.

Crates.io Documentation

More information about this crate can be found in the crate documentation.

Installation

[dependencies]
xrpl_http_client = "0.12"

Usage

let client = Client::new();

let account = "...";

let req = AccountTxRequest::new(&account).limit(5);
let resp = client.call(req).await;

dbg!(&resp);
let client = Client::new();

let account = "...";
let public_key = "...";
let secret_key = "...";

let offer_sequence = 123; // the sequence of the offer to cancel

let tx = Transaction::offer_cancel(account, offer_sequence);

let tx = client.prepare_transaction(tx).await?;

let public_key = hex::decode(public_key)?;
let secret_key = hex::decode(secret_key)?;

let tx = sign_transaction(tx, &public_key, &secret_key);

let tx_blob = serialize_transaction_to_hex(&tx);

let req = SubmitRequest::new(&tx_blob);
let resp = client.call(req).await?;

dbg!(resp);

Status

This work is under active development and the API is expected to change.

Contributing

Pull requests, issues and comments are welcome! Make sure to add tests for new features and bug fixes.

License

This work is licensed under the Apache-2.0 License. See LICENSE.txt or https://spdx.org/licenses/Apache-2.0.html for details.

Copyright © 2022 Georgios Moschovitis.

Dependencies

~8–23MB
~354K SLoC