#serialization #binary-format #ripple #byte #transaction #json #canonical

rippled_binary_codec

将 XRP 交易从 JSON 序列化为它们的规范二进制格式

5 个版本

0.0.5 2023 年 6 月 27 日
0.0.4 2021 年 12 月 1 日
0.0.3 2021 年 10 月 7 日
0.0.2 2021 年 10 月 6 日
0.0.1 2021 年 10 月 6 日

#1979 in 魔豆

每月 21 次下载

MIT 许可证

68KB
1K SLoC

Rippled 二进制编解码器

rippled_binary_codec 是一个库,用于将交易序列化为它们的 规范二进制格式

Build status

核心函数 serialize_tx 接收一个交易 JSON 并返回一个表示二进制格式的字节数组对象。

示例

基本交易序列化示例。

确保你在 Cargo.toml 中导入 rippled_binary_codec crate

[dependencies]
rippled_binary_codec = 0.0.3

然后,在你的 main.rs 中

use rippled_binary_codec::serialize::serialize_tx;

fn serialize_tx_example(){
 // The input json string will be deserialized to serde_json:Value.
 let input= r#"{
   "Account": "rMBzp8CgpE441cp5PVyA9rpVV7oT8hP3ys",
   "Expiration": 595640108,
   "Fee": "10",
   "Flags": 524288,
   "OfferSequence": 1752791,
   "Sequence": 1752792,
   "SigningPubKey": "03EE83BB432547885C219634A1BC407A9DB0474145D69737D09CCDC63E1DEE7FE3",
   "TakerGets": "15000000000",
   "TakerPays": {
     "currency": "USD",
     "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
     "value": "7072.8"
   },
   "TransactionType": "OfferCreate",
   "TxnSignature": "30440220143759437C04F7B61F012563AFE90D8DAFC46E86035E1D965A9CED282C97D4CE02204CFD241E86F17E011298FC1A39B63386C74306A5DE047E213B0F29EFA4571C2C",
   "hash": "73734B611DDA23D3F5F62E20A173B78AB8406AC5015094DA53F53D39B9EDB06C"
   }"#;
  serialize_tx(input.to_string(), true);
}

对于更复杂的“真实世界”示例,请参阅 crypto-coin-lib 仓库。

贡献

感谢您的帮助改进项目!我们非常高兴有您!欢迎 Pull Requests 和 Issues。

序列化过程在不同的编程语言中实现

此外,以下库也提供了序列化支持

  • xrpl4j:一个纯 Java 实现,用于与 XRP 账本交互所需的核心功能。
  • xrpl:用于与 XRP 账本进行交互的 JavaScript/TypeScript API。
  • xrpl-py:用于与 XRP 账本进行交互的纯 Python 实现。

许可协议

本项目采用 MIT 许可协议

贡献

除非你明确表示,否则你提交到 rippled_binary_codec 的任何有意贡献都应被视为 MIT 许可,不附加任何额外条款或条件。

依赖

~11MB
~320K SLoC