#websocket #kraken #trading #api-client #client #api

kraken_ws_client

针对 Kraken WebSocket API 的强类型客户端

6 个版本 (破坏性更新)

0.26.0 2024年7月10日
0.25.0 2024年1月29日
0.24.0 2024年1月4日
0.23.0 2023年9月6日
0.20.0 2023年8月14日

#1802 in 魔法豆

Download history 11/week @ 2024-05-18 2/week @ 2024-05-25 4/week @ 2024-06-01 2/week @ 2024-06-22 18/week @ 2024-06-29 109/week @ 2024-07-06 12/week @ 2024-07-13 1/week @ 2024-07-20 15/week @ 2024-07-27

每月151次下载

Apache-2.0

42KB
1K SLoC

Kraken WebSocket API 客户端

针对 Kraken WebSocket API 的 Rust SDK。

此软件包是一个 非官方的、社区驱动的努力。

安装

[dependencies]
kraken_ws_client = "0.24"

使用

use futures::StreamExt;
use kraken_ws_client::api::SubscribeTickerRequest;

#[tokio::main]
async fn main() {
    let mut client = kraken_ws_client::connect_public()
        .await
        .expect("cannot connect");

    client
        .send(SubscribeTickerRequest::symbol("BTC/USD"))
        .await
        .expect("cannot send request");

    while let Some(event) = client.ticker_events().next().await {
        dbg!(&event);
    }
}
use kraken_rest_client::Client as RestClient;

let api_key = std::env::var("KRAKEN_API_KEY").expect("api key not defined");
let api_secret = std::env::var("KRAKEN_API_SECRET").expect("api secret not defined");

let rest_client = RestClient::new(api_key, api_secret);
let resp = rest_client.get_web_sockets_token().send().await?;
let token = resp.token;

let mut ws_private_client = kraken_ws_client::connect_private(token)
    .await
    .expect("cannot connect");

ws_private_client
    .send(SubscribeExecutionsRequest::new())
    .await
    .expect("cannot send request");

while let Ok(msg) = ws_private_client.messages().recv().await {
    dbg!(msg);
}

或运行示例

cargo run --example ticker

状态

该软件正在积极开发中,API 预计将发生变化。

贡献

欢迎拉取请求、问题和评论!请确保为新特性和错误修复添加测试。

许可

本作品根据 Apache-2.0 许可证授权。有关详细信息,请参阅 LICENSE.txthttps://spdx.org/licenses/Apache-2.0.html

版权所有 © 2022 Georgios Moschovitis

依赖项

~6–14MB
~147K SLoC