#stellar #horizon #cryptocurrency #client #api-bindings #lumens

stellar-client

stellar Horizon API 的客户端接口

2 个版本

使用旧的 Rust 2015

0.1.2 2018 年 8 月 20 日
0.1.1 2018 年 4 月 20 日
0.1.0 2018 年 4 月 20 日

#25#horizon

MIT 许可证

360KB
8K SLoC

Stellar 客户端

一个允许与 stellar horizon api 交互的 crate。

端点

端点是体现 API 双向特性的特质。一方面,它定义了 API 返回的严格类型,另一方面,它也定义了需要指定什么来首先发起请求。

将这一特性捕获在类型中,使我们能够在抽象层面进行推理,并模拟 horizon 进出时的抽象原语。


lib.rs:

Stellar 客户端

stellar horizon api 的轻量级实现。

客户端库有三个主要方面。有客户端本身,位于客户端模块中。有各种端点可以用来获取数据。然后是 API 返回的资源。

使用方法和示例

要使用,首先创建一个客户端。为了简单起见,这个示例将使用同步客户端,并使用它来获取一个随机资产,然后询问该资产和 lumens 之间是否有任何交易。

use stellar_client::{
    sync::Client,
    endpoint::{asset, trade},
    resources::AssetIdentifier,
};

// Creates a client that's connected to stellar's test net
let client = Client::horizon_test().unwrap();

// Creates a request-like struct for all assets
let assets = asset::All::default();

// Issues request for assets and grabs identifier
let assets = client.request(assets).unwrap();
let identifier = assets.records()[0].identifier();

// Form a request for trades
let trades = trade::All::default()
    .with_asset_pair(AssetIdentifier::native(), identifier.clone());
let trades = client.request(trades).unwrap();

依赖项

~16–25MB
~443K SLoC