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