3 个版本
0.1.3 | 2021 年 5 月 28 日 |
---|---|
0.1.2 | 2021 年 5 月 27 日 |
0.1.1 | 2021 年 5 月 27 日 |
0.1.0 |
|
#24 在 #kraken
在 async_kraken_ws 中使用
20KB
178 行
这是一个使用 Kraken 交易所 REST API 的最小接口,并使用 async-std 运行时。
作为 API 的最小接口,只有一个方法,该方法接受端点名称和作为 Value 对象的参数 serde_json。
当查询私有端点时,此库将处理并向 Kraken 正确发送请求。
先决条件
要使用私有端点,您需要生成一个 API-Key
和一个 API-Secret
以验证所需的 Kraken 账户。
如何生成 API 密钥对?
使用
根据您的需求使用 new()
或 with_credentials(key, secret)
创建 KrakenClient
对象。
然后调用 api_request(endpoint_name, payload)
。它将返回一个 JSON,您可以处理或错误信息。您可以在 API 文档 中了解每个端点的有效负载和返回的 JSON。
可用的 公共 端点名称
时间、系统状态、资产、可交易资产对、行情、OHLC、深度、交易、价差。
可用的 私有 端点名称
用户数据
余额,交易余额,未成交订单,已成交订单,查询订单,交易历史,查询交易,未平仓头寸,账本,查询账本,交易量,添加导出,导出状态,检索导出,删除导出。
用户交易
添加订单 取消订单 取消所有订单 取消所有订单后。
用户资金
存款方式,存款地址,存款状态,取款信息,取款,取款状态,取消取款,钱包转账。
WebSocket身份验证
获取WebSocket令牌.
示例
use async_kraken::client::KrakenClient;
fn get_keys() -> (String, String) {
let content = std::fs::read_to_string("key").expect("File not found");
let lines: Vec<&str> = content.lines().collect();
let key = String::from(lines[0]);
let secret = String::from(lines[1]);
(key, secret)
}
#[async_std::main]
async fn main() {
// # Only public endpoints
// let k = KrakenClient::new();
// # Public and private enpoints
let (key, secret) = get_keys();
let k = KrakenClient::with_credentials(key, secret);
match k.api_request("Time", serde_json::json!({})).await {
Ok(json) => println!("{:?}", json),
Err(e) => println!("{:?}", e),
};
match k.api_request("OHLC", serde_json::json!({"pair":"doteur", "interval":30, "since":0})).await
{
Ok(json) => println!("{:?}", json),
Err(e) => println!("{:?}", e),
};
match k.api_request("Balance", serde_json::json!({})).await {
Ok(json) => println!("{:?}", json),
Err(e) => println!("{:?}", e),
};
}
免责声明
本软件不提供任何形式的保证。
您是您收益或亏损的唯一责任人。
依赖关系
~15–30MB
~537K SLoC