#stellar #soroban #networking #transaction #low-level #rust

stellar-baselib

A low level Rust library that offers a comprehensive set of functions for reading, writing, hashing, and signing primitive XDR constructs utilized in the Stellar network

40 releases

new 0.4.8 Feb 18, 2025
0.4.6 Jan 13, 2025
0.4.5 Dec 27, 2024
0.4.2 Nov 20, 2024
0.1.5 Jul 20, 2023

#201 in Magic Beans

Download history 144/week @ 2024-10-29 3/week @ 2024-11-05 188/week @ 2024-11-12 518/week @ 2024-11-19 12/week @ 2024-11-26 171/week @ 2024-12-03 125/week @ 2024-12-10 120/week @ 2024-12-17 135/week @ 2024-12-24 3/week @ 2024-12-31 74/week @ 2025-01-07 63/week @ 2025-01-14 10/week @ 2025-01-21 12/week @ 2025-01-28 95/week @ 2025-02-04 199/week @ 2025-02-11

320 downloads per month
Used in soroban-client

Apache-2.0 and LGPL-3.0+

245KB
5.5K SLoC

Stellar Base Library

Crates.io Crates.io Crates.io

A library that offers a comprehensive set of functions for reading, writing, hashing, and signing primitive XDR constructs utilized in the Stellar network. it provides a nice abstraction for building and signing transactions

This project is currently alpha-ish and is compatible with Protocol 22 and you can use it for buidling and signing transactions that involve interacting with Soroban. It is a work in progress and is subject to significant changes, including the addition or removal of features and modifications to its functionality.

Quickstart

Add this to your Cargo.toml:

[dependencies]
stellar-baselib = "0.4.8"

And this to your code:

use stellar_baselib::*;

How to run tests

cargo test

Coding Best Practices Used

  1. All Rust code is linted with Clippy with the command cargo clippy. If preferred to ignore its advice, do so explicitly: #[allow(clippy::too_many_arguments)]

  2. All rust code is formatted with cargo fmt. rustfmt.toml defines the expected format.

  3. Function and local variable names follow snake_case. Structs or Enums follow CamelCase and Constants have all capital letters.

Dependencies

~14–27MB
~368K SLoC