#protobuf #serialization #finance #price #model #transaction #products

bin+lib ledger-models

金融产品(证券、价格、交易等)的综合模型库。使用 Protobuf 进行序列化,具有特定语言的实现

69 个版本

新版本 0.1.91 2024 年 8 月 7 日
0.1.90 2024 年 7 月 27 日
0.1.87 2024 年 6 月 21 日
0.1.75 2024 年 3 月 30 日
0.1.11 2022 年 12 月 29 日

#508数据库接口

Download history 354/week @ 2024-04-20 800/week @ 2024-04-27 291/week @ 2024-05-04 39/week @ 2024-05-11 7/week @ 2024-05-18 1/week @ 2024-05-25 84/week @ 2024-06-08 159/week @ 2024-06-15 47/week @ 2024-06-22 1/week @ 2024-06-29 124/week @ 2024-07-06 120/week @ 2024-07-13 16/week @ 2024-07-20 227/week @ 2024-07-27

487 每月下载量

Apache-2.0

330KB
7K SLoC

从 Proto 文件派生的 Rust 类型

上下文

此项目包含金融对象的 protobuf 模型以及 API 的请求/响应格式;以及特定语言的绑定。

生成类型

要生成类型,运行 cargo run --bin gen。这将覆盖 ledger-models-rust 中的文件。任何新文件都必须在 lib.rs 中导出。

这包含在 compile.sh 脚本中,该脚本在所有语言中创建类型。

项目结构

使用 Tonic/Prost 在 Rust 中生成语言绑定。自动生成的文件以 fintekkers...rs 的格式创建。

手写的包装器包含在 fintekkers/wrappers/file.rs 文件夹中。此代码的目的是使 Rust 实现的 fintekkers 更易于使用,而无需 gitto 理解 protobuf 的所有细微差别,或者 proto 模式中的性能优化细微差别。

DevOps

准备 Rust 发布

要发布新版本,请执行以下操作

  1. 使用编译脚本生成新的 protobuf
  2. 在 lib.rs 中导出任何新模型
  3. Cargo.toml 中提升包版本
  4. 合并您的 pr 然后创建带有版本标签的发布,如果版本 = 0.1.1,则设置标签为 v0.1.1

依赖项

~9–19MB
~244K SLoC