2个不稳定版本
0.2.0 | 2023年3月12日 |
---|---|
0.1.0-alpha.0 | 2022年6月15日 |
#5 in #bybit
每月 24 次下载
50KB
985 行
rust-bybit
英语 | 简体中文
Bybit的WebSockets V5 API的非官方Rust API连接器。
免责声明
这是一个Bybit API的非官方Rust API连接器,用户使用此项目应承担所有责任和风险。
安装
将以下内容添加到Cargo.toml
[dependencies]
rust-bybit = "0.2"
基本用法
为特定频道创建WebSocket客户端
use bybit::ws::response::SpotPublicResponse;
use bybit::ws::spot;
use bybit::KlineInterval;
use bybit::WebSocketApiClient;
let mut client = WebSocketApiClient::spot().build();
订阅您感兴趣的主题。以下代码将订阅所有具有symbol=ETHUSDT或symbol=BTC3SUSDT(杠杆代币)的主题(请检查Bybit V5 API以获取所有可用主题)。注意,订阅将在调用client.run
之前不会发送
let symbol = "ETHUSDT";
let lt_symbol = "BTC3SUSDT";
client.subscribe_orderbook(symbol, spot::OrderbookDepth::Level1);
client.subscribe_orderbook(symbol, spot::OrderbookDepth::Level50);
client.subscribe_trade(symbol);
client.subscribe_ticker(symbol);
client.subscribe_kline(symbol, KlineInterval::Min1);
client.subscribe_lt_kline(lt_symbol, KlineInterval::Min5);
client.subscribe_lt_ticker(lt_symbol);
client.subscribe_lt_nav(lt_symbol);
将回调函数传递给client.run
以启动客户端。回调函数必须接受一个参数:WebSocket响应的Enum
。当收到WebSocket响应时,将调用回调函数
let callback = |res: SpotPublicResponse| match res {
SpotPublicResponse::Orderbook(res) => println!("Orderbook: {:?}", res),
SpotPublicResponse::Trade(res) => println!("Trade: {:?}", res),
SpotPublicResponse::Ticker(res) => println!("Ticker: {:?}", res),
SpotPublicResponse::Kline(res) => println!("Kline: {:?}", res),
SpotPublicResponse::LtTicker(res) => println!("LtTicker: {:?}", res),
SpotPublicResponse::LtNav(res) => println!("LtNav: {:?}", res),
SpotPublicResponse::Op(res) => println!("Op: {:?}", res),
};
match client.run(callback) {
Ok(_) => {}
Err(e) => println!("{}", e),
}
这是一个简单的示例,仅打印接收到的WebSocket响应。还有一些更复杂的示例用于实际使用演示,例如维护本地订单簿。您可以通过运行cargo run --example local_orderbook
来查看其工作方式。
捐赠
您可以通过以下加密货币钱包地址捐赠以帮助此项目进一步发展。
网络 | 地址 |
---|---|
Ethereum (ERC20) | 0x2ef22ed84D6b57496dbb95257C4eb8F02cE9b7A6 |
BNB Smart Chain (BEP20) | 0x869F8F9A78a18818F93061A02B233507b5F64151 |
Tron (TRC20) | TPvqJYHFQ7iqEgtEcYrSLTjpGsAq41dhFt |
Bitcoin | 3C6o4ADGFXyuf6TUXKL6YyMyRfhek6zxzx |
依赖项
~7–19MB
~350K SLoC