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 在 解析器实现
5.5MB
9K SLoC
Fasters
Fasters 是一个在 Rust 中的免费和开源 FIX 引擎实现。请注意,它目前处于高度开发阶段并且非常不稳定,因此所有感兴趣方在 1.0 版本发布之前应避免在生产环境中使用它。性能和对 FIX 协议的全面遵守是项目的核心目标,这可能是其他工作的有用基础。
关于
Fasters 为 FIX 协议提供解析、验证、错误恢复和(反)序列化。
上面的插图简要描述了 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)的加密货币衍生品交易所。
有关商业咨询,请联系 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