#sdk #stellar #horizon #transaction #signing #endpoints #assets

stellar_sdk

stellar_sdk 是一个用于与 Stellar Horizon 服务器交互的库

5 个版本

0.1.4 2023 年 11 月 1 日
0.1.3 2022 年 7 月 2 日
0.1.2 2022 年 5 月 18 日
0.1.1 2022 年 5 月 18 日
0.1.0 2022 年 5 月 17 日

#2110 in 魔法豆

Apache-2.0LGPL-3.0+

125KB
3.5K SLoC

Stellar SDK

一个用于与 Stellar Horizon 服务器通信的轻量级 Rust 库。

特性

  • 它只使用 3 个依赖项,非常轻量
  • 一个用于 Horizon 端点的网络层 API。
  • 构建和签名事务、与 Stellar Horizon 实例通信以及提交事务或查询网络历史的工具。

安装

stellar_sdk 添加到您的 Cargo.toml 文件并运行 cargo run

"stellar_sdk" = "0.1.3"

使用方法

使用方法旨在与 JavaScript Stellar Sdk 相同,我们试图避免 Rust 语言本身带来的任何复杂性。

use stellar_sdk::{
    types::Asset,
    utils::{Direction, Endpoint},
    CallBuilder, Server,
};

fn main() {
    let s = String::from("https://horizon.stellar.org");
    let s = Server::new(s);

    // Load 1 account
    let my_acc = s
        .load_account("GAUZUPTHOMSZEV65VNSRMUDAAE4VBMSRYYAX3UOWYU3BQUZ6OK65NOWM")
        .unwrap();

    // Load transactions of an account
    let my_account_id = String::from("GAP2TJNW7NL52MPB36DZ2PB6PSIBEUEJXDG325BJQKUNDQBPKX3E2DLV");
    let my_txs = s
        .transactions()
        .order(Direction::Desc)
        .limit(2)
        .include_failed(false)
        .for_endpoint(Endpoint::Accounts(my_account_id))
        .call()
        .unwrap();

    // Load trades of yXLM and XLM
    let y_xlm = Asset::new(
        "yXLM",
        "GARDNV3Q7YGT4AKSDF25LT32YSCCW4EV22Y2TV3I2PU2MMXJTEDL5T55",
    );
    let native = Asset::native();
    let my_asset_pair = (y_xlm, native);
    let xlm_trades = s
        .trades()
        .for_asset_pair(my_asset_pair)
        .limit(2)
        .call()
        .unwrap();

    // Load USDC liquidity pools
    let usdc = Asset::new(
        "USDC",
        "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
    );
    let usdc_liquidity_pools = s.liquidity_pools().for_assets(vec![usdc]).call().unwrap();

    println!("{:#?}", my_txs);
    println!("{:#?}", xlm_trades);
    println!("{:#?}", my_acc);
    println!("{:#?}", usdc_liquidity_pools);
}

待办事项

资产

  • get_raw_asset_type
  • to_change_trust_XDR_object
  • to_trustline_XDR_object
  • to_XDR_object
  • from_operation

Claimant

FeeBumpTransaction

Keypair

  • master
  • xdr_account_id
  • xdr_public_key
  • xdr_muxed_account
  • signature_hint
  • sign_payload_decorated
  • sign_decorated

LiquidityPoolAsset

LiquidityPoolId

Memo

MuxedAccount

Operation

Server

  • checkMemoRequired

SignerKey

Transaction

Transaction Builder

全局变量

依赖项

~30MB
~332K SLoC