1 个不稳定版本
0.1.0 | 2021 年 5 月 22 日 |
---|
#27 在 #kraken
218 每月下载量
38KB
483 行
Calamari 是 Kraken 的 REST API 客户端。
快速入门
API 客户端提供两种形式:PublicApiClient
和 PrivateApiClient
。前者仅具有公共方法的访问权限,后者具有所有端点的访问权限。这是在编译时强制执行的,因为所有端点都在 PublicEndpoints
和 PrivateEndpoints
特性中静态定义的。
use calamari::{PublicApiClient, PublicEndpoints};
// Note: to run this example you will need to add Tokio to your dependencies:
// tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
#[tokio::main]
async fn main() {
let client = PublicApiClient::default();
println!("Server time: {}", client.time().await.unwrap());
println!("System status: {}", client.system_status().await.unwrap());
println!("Ticker: {}", client.ticker("pair=XBTUSD".into()).await.unwrap());
}
每个端点接受零个或一个参数,该参数包含所有请求参数的 urlencode 格式。所有端点都返回包含服务器 JSON 响应的 String
,用户可以完全自由地处理它。
可以通过直接实例化或使用 set_credentials
方法提供 API 凭证从现有的 PublicApiClient
创建 PrivateApiClient
。
use calamari::{ApiCredentials, PrivateApiClient, PublicEndpoints, PrivateEndpoints};
#[tokio::main]
async fn main() {
let credentials = ApiCredentials::new(
"YOUR_API_KEY".into(),
"YOUR_API_SECRET".into(),
);
let client = PrivateApiClient::default_with_credentials(credentials);
// Alternatively, if `client` is already a `PublicApiClient`:
// let client = client.set_credentials(credentials);
println!("Server time: {}", client.time().await.unwrap());
println!("System status: {}", client.system_status().await.unwrap());
println!("Ticker: {}", client.ticker("pair=XBTUSD".into()).await.unwrap());
println!("Account balance: {}", client.balance().await.unwrap());
println!("Open orders: {}", client.open_orders("trades=true".into()).await.unwrap());
}
Logo 由 Freepik 在 www.flaticon.com 制作
依赖项
~3–15MB
~219K SLoC