15个稳定版本
1.3.0 | 2023年10月19日 |
---|---|
1.2.0 | 2023年10月9日 |
1.1.9-beta.0 |
|
1.1.5 | 2023年8月24日 |
0.3.0 |
|
#2265 in 神奇豆子
24每月下载次数
135KB
2K SLoC
异步CoinBase高级API
本包的目的是提供对CoinBase高级REST和WebSocket API的异步访问。该包包括在配置文件中组织您的API密钥和秘密的方法。
该项目目前仍在进行中。由于API变得更加完善并适应CoinBase Advanced的变化状态,版本之间的变化可能很大。我要求您理解,在此状态下,我对您可能遇到的问题不承担任何责任,并鼓励您在使用前进行验证和测试。
鼓励贡献!API参考可以在CoinBase Advanced API中查看。如果您想将其添加到您的项目中,可以使用cargo add cbadv
,或者将以下行添加到您的Cargo.toml
中的依赖关系部分:
[dependencies]
cbadv = { git = "https://github.com/ohkthx/cbadv-rs", branch = "main" }
特性
- 异步。
- 易于使用的REST和WebSocket客户端。
- 配置文件以存储API密钥和API密钥。
features = ["config"]
- 涵盖了目前可访问的所有REST端点(截至20231016)。
- 涵盖了目前可访问的所有WebSocket端点(截至20231016)。
- 有很多示例!查看它们以开始使用。
文档
大部分文档可以通过点击以下链接获取: docs.rs。该文档是自动生成的,也可从 crates.io 访问。
涵盖的API请求
WebSocket API
客户端: use cbadv::websocket::WebSocketClient
- 认证 client.connect
- 订阅 [client.subscribe / client.sub]
- 取消订阅 [client.unsubscribe / client.unsub]
- 支持的频道
- 状态 Channel::STATUS
- 蜡烛 Channel::CANDLES
- 行情 Channel::TICKER
- 行情批量 Channel::TICKER_BATCH
- Level2 Channel::LEVEL2
- 用户 Channel::USER
- 市场成交 Channel::MARKET_TRADES
REST API
客户端: use cbadv::rest::RestClient
- 账户 client.account
- 列出账户 client.account.get_bulk
- 获取账户 client.account.get
- 产品 client.product
- 获取最佳买价/卖价 client.product.best_bid_ask
- 获取产品订单簿 client.product.product_book
- 列出产品 client.product.get_bulk
- 获取产品 client.product.get
- 获取产品蜡烛 client.product.candles
- 获取市场成交(行情) client.product.ticker
- 订单 client.order
- 创建订单
- 市场IOC(未测试) client.order.create_market
- 限价GTC client.order.create_limit_gtc
- 限价GTD(未测试) client.order.create_limit_gtd
- 止损限价GTC(未测试) client.order.create_stop_limit_gtc
- 止损限价GTD(未测试) client.order.create_stop_limit_gtd
- 取消订单 client.order.cancel
- 订单列表 client.order.get_bulk
- 成交列表(未测试) client.order.fills
- 获取订单 client.order.get
- 创建订单
- 费用 client.fee
- 获取交易摘要 client.fee.get
新增请求和功能
这些函数是为了覆盖常见的功能,但最初并非CoinBase高级API的一部分。它们可能需要多个API请求才能完成结果。
- REST:账户 client.account
- 通过ID获取账户 client.account.get_by_id - 通过ID(例如BTC或ETH)获取账户
- 获取所有 client.account.get_all - 获取所有账户。
- REST:产品 client.product
- 获取蜡烛图(扩展) client.product.candles_ext - 获取超过限制(300)的蜡烛图。
- REST:订单 client.order
- 获取所有订单 client.order.get_all - 获取产品的所有订单。
- 取消所有订单 client.order.cancel_all - 取消产品的所有开放订单。
- WebSocket:监视蜡烛图 client.watch_candles
- 监视蜡烛图的更新,为一系列蜡烛图生成完成的蜡烛图。
- 蜡烛图具有5分钟的粒度,当前API中无法更改。
待办事项
测试所有目前尚未测试的端点。
配置功能
配置需要您将 'config' 功能(features = ["config"]
)添加到您的 Cargo.toml
。默认配置不可用,因为API需要密钥和密码。您可以通过此 链接 创建、修改和删除API密钥和密码。
将 config.toml.sample
复制到 config.toml
并添加您的API信息。在启动时将自动读取 config.toml
文件以访问您的账户API信息。与已弃用的CoinBase Pro API不同,不再可以访问公共API端点。所有访问都需要身份验证。密钥和密码是HTTP请求正确签名并被CoinBase接受的身份验证要求。
自定义配置 可以通过添加除 [coinbase]
之外的其他部分来创建。请参阅 custom_config.toml.sample 了解配置文件的示例。有关如何实现和创建自定义配置文件的示例,请参阅 custom_config.rs。
Cargo.toml
中启用 config
功能的示例。
[dependencies]
cbadv = { version = "*", features = ["config"] }
示例
在“受保护API请求”部分检查可能受保护示例。所有示例都位于cbadv-rs/examples目录。
感谢建议!
以下是钱包地址,或点击上面的徽章!
Ethereum (ETH): 0x7d75f6a9c021fcc70691fec73368198823fb0f60
Bitcoin (BTC): bc1q75w3cgutug8qdxw3jlmqnkjlv9alt3jr7ftha0
Binance (BNB): 0x7d75f6a9c021fcc70691fec73368198823fb0f60
依赖项
~8–23MB
~363K SLoC