Rust SBE 示例应用是一个参考实现,演示如何在 Rust 环境中解码使用简单二进制编码(SBE)格式的 Binance API 响应。
它从 STDIN 读取 SBE 编码的数据载荷,并将人类可读的 YAML 表示输出至 STDOUT,可用于检查、调试和验证 Binance API 返回的 SBE 响应。
如需查看源代码、更新说明及示例,请访问 GitHub 上的 binance-sbe-rust-sample-app 仓库。
支持的环境
- Rust(工具链版本定义于
rust-toolchain.toml) - Linux
- macOS
本示例应用仅供本地运行和检查使用。
它不是一个生产就绪的 SDK。
示例演示内容
本应用专注于解码 SBE 编码的 API 响应,而非发送或管理请求本身。
它演示了如何:
- 在 Rust 中解码 SBE 响应
- 将二进制 SBE 载荷转换为人类可读的 YAML
- 将 REST 或 WebSocket API 的 SBE 响应通过管道传入 Rust 解码器
- 在 Rust 项目中复用已生成的 SBE 解码器模块
典型使用场景
- 检查和验证 SBE 响应
- 调试使用 SBE 的集成方案
- 学习如何在 Rust 中解码 Binance SBE 模式
- 围绕基于 SBE 的 API 构建内部工具
- 验证 SBE 输出的身份验证和请求签名工作流
快速开始
克隆仓库:
Code
构建示例应用:
Code
生成的二进制文件位于:
Code
使用示例应用
该应用从 STDIN 读取 SBE 编码数据,并将解码后的 YAML 输出至 STDOUT。
示例:解码 SBE REST 响应
Code
示例:解码 SBE WebSocket 响应
您可以通过辅助脚本或工具将 WebSocket 原始消息转发后,通过管道传入应用进行解码:
Code
运行 websocket_send.py 需要 Python 环境中安装 websocket-client 包。
身份验证
向需要身份验证的接口请求 SBE 响应时,适用标准的 Binance 身份验证方式。
仓库中的示例演示了以下身份验证方式的用法:
- 基于
HMAC的身份验证 - 基于
RSA的身份验证 - 基于
Ed25519的身份验证
示例应用本身不执行请求签名——它仅负责解码 SBE 响应。
SBE 解码器
仓库包含使用 Simple Binary Encoding (SBE) 从 Binance SBE 模式文件生成的 Rust 解码器模块。
这些解码器可直接在您自己的 Rust 项目中复用。如有需要,可按照仓库中的说明从最新模式文件重新生成解码器。
注意事项与最佳实践
- 本项目旨在作为参考实现和调试工具使用
- 请始终对照官方 API 文档验证解码后的字段
- 仅在需要二进制传输效率或低延迟时才考虑使用 SBE
- 对于通用集成场景,REST 或 WebSocket API 可能更易于使用
- 在测试已认证接口时,请使用测试网环境
此页面是否有帮助?
Last modified on