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

xrpl_sdk_jsonrpc

A strongly-typed client for the XRP Ledger JSONRPC API

8 releases (4 breaking)

0.12.0 Aug 14, 2023
0.11.0 Aug 1, 2023
0.9.0 Aug 6, 2022
0.8.0 Jul 31, 2022
0.6.1 Mar 12, 2022

#8 in #xrpl

Apache-2.0

21KB
402 lines

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_sdk_jsonrpc = "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–22MB
~324K SLoC