1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年1月26日 |
---|
#23 in #submit
25KB
584 代码行
shuttle-sdk
shuttle-sdk
提供了一种与 Stellar Horizon 服务器 通信的方法。
入门
许可证
版权所有 2018 Francesco Ceccon [email protected]
根据 Apache 许可证,版本 2.0(“许可证”);除非根据适用法律或书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言和限制,请参阅许可证。
lib.rs
:
shuttle-sdk
shuttle-sdk
包提供了一种与 Stellar Horizon 服务器 通信的方法。
它提供了一种向 Horizon 实例提交请求,并构建、签名和提交交易到网络的方法。
示例用法
创建并资助一个新的账户
use shuttle_sdk::{KeyPair, Server};
const TESTNET_URL: &'static str = "https://horizon-testnet.stellar.org";
let keypair = KeyPair::random()?;
let account_id = keypair.public_key();
let server = Server::new(TESTNET_URL)?;
let response = server.friendbot(&account_id)?.send()?;
println!("response = {:?}", response);
获取可用资产列表
use shuttle_sdk::{KeyPair, Server};
const TESTNET_URL: &'static str = "https://horizon-testnet.stellar.org";
let keypair = KeyPair::random()?;
let account_id = keypair.public_key();
let server = Server::new(TESTNET_URL)?;
let response = server.assets().for_code("MOBI").send()?;
println!("response = {:?}", response);
创建并提交交易
use std::str::FromStr;
use shuttle_sdk::{Account, KeyPair, Network, Server};
use shuttle_sdk::{Amount, OperationBuilder, TransactionBuilder};
const TESTNET_URL: &'static str = "https://horizon-testnet.stellar.org";
let keypair = KeyPair::random()?;
let account_id = keypair.public_key();
let new_keypair = KeyPair::random()?;
let server = Server::new(TESTNET_URL)?;
let network = Network::test_network();
let account_details = server.accounts().account_id(&account_id)?.send()?;
let mut account = Account::new(account_id.clone(), account_details.sequence);
let tx = TransactionBuilder::new(&mut account)
.operation(
OperationBuilder::create_account(
new_keypair.public_key().clone(),
Amount::from_str("20.0")?,
).build(),
).build();
let signed_tx = tx.sign(&keypair, &network)?;
let response = server.submit_transaction(&signed_tx)?.send()?;
println!("response = {:?}", response);
依赖关系
~43MB
~548K SLoC