5 个版本 (3 个破坏性更新)

0.4.0 2021 年 2 月 11 日
0.3.0 2021 年 2 月 7 日
0.2.1 2021 年 1 月 16 日
0.2.0 2021 年 1 月 16 日
0.1.0 2020 年 2 月 4 日

#2767解析器实现

MIT 许可证

5.5MB
9K SLoC

Fasters

Crates.io Docs.rs License Open issues matrix.org

Fasters 是一个在 Rust 中的免费和开源 FIX 引擎实现。请注意,它目前处于高度开发阶段并且非常不稳定,因此所有感兴趣方在 1.0 版本发布之前应避免在生产环境中使用它。性能和对 FIX 协议的全面遵守是项目的核心目标,这可能是其他工作的有用基础。

关于

Fasters 为 FIX 协议提供解析、验证、错误恢复和(反)序列化。

FIX Technical Standard stack

上面的插图简要描述了 FIX 的全部范围,并为所有现代 FIX 实现提供了一个参考点。Fasters 致力于完全符合... 最终。工程努力最初集中在核心功能上,例如标签值编码和 FIX 4.4。

Fasters 根据 OSI 模型强制执行严格的问题分离,这是由 FIX 规范合理允许的。

  • 第 4 层(传输层):fasters::transport
  • 第 5 层(会话层):fasters::session
  • 第 6 层(表示层):fasters::codec
  • 第 7 层(应用层):fasters::app

您不需要理解整个技术堆栈就可以使用单个层;实际上,Fasters 确保您只需关注您选择的抽象层以上的层。对于大多数用户来说,那将是第 7 层(即 FIX 消息的语义和业务逻辑)。另一方面,如果您计划构建一个完整的 FIX 引擎,您将需要深入研究底层。

核心功能

  • 代码生成(Rust,可能还有其他)。
  • FIX 4.2。
  • FIX 4.4。
  • FIX 5.0 服务包 2。

编码

  • Tagvalue(经典 FIX)。
  • FIXML。
  • 简单二进制编码(SBE)。
  • Google 协议缓冲区(GPB)。
  • JavaScript 对象表示法(JSON)。
  • 抽象语法表示法(ASN.1)。
  • FIX 为流式传输而优化(FAST)。

赞助商

Fasters 由 Bitwyre 慷慨赞助。Bitwyre 是一个面向下一代、适合高频交易(HFT)的加密货币衍生品交易所。

Bitwyre logo

有关商业咨询,请联系 Filippo Costa <filippo.costa@protonmail.com>

贡献

所有开发工作均在GitHub上进行,地址为neysofu/fasters。欢迎志愿者和公司的贡献。根据你打算贡献的大小和范围,提前提交一个拉取请求来讨论任何细节可能是个好主意。请注意,我们的分支策略受到了著名的(或不太著名的)Git Flow的启发,这对于需要复杂版本控制如FIX实现的软件来说是一个很好的选择。版本控制遵循SemVer 2.0

如果你想要提供更有结构和长期性的贡献,请联系Filippo Costa filippo.costa@protonmail.com

Fasters遵循MIT许可协议。更多详细信息请参阅本存储库中的LICENSE.txt文件。

所有与FIX协议相关的知识产权,包括但不限于随Fasters一起提供的原始文档,均由FIX Protocol Ltd.根据创意共享署名 - 禁止衍生 4.0 国际(CC BY-ND 4.0)许可。通过贡献到这个项目,你同意遵守所有许可要求。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、适用于特定用途和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是在合同行为、侵权或其他行为中,无论是否与软件或其使用或其他方面有关。

第三方文档和资源的链接。

依赖项

~11–22MB
~285K SLoC