8 个稳定版本
21.2.0 | 2024年7月15日 |
---|---|
21.0.1 | 2024年4月23日 |
20.1.0 | 2024年2月1日 |
20.0.2 | 2023年12月18日 |
0.0.1 |
|
#1369 在 魔法豆
13,911 每月下载量
用于 71 个crate(直接使用31个)
4.5MB
101K SLoC
stellar-xdr
包含用于处理Stellar XDR的类型和功能的库和CLI。
类型由托管在stellar/stellar-xdr的XDR定义生成,使用xdrgen。
用法
库
要使用库,请在您的toml中包含
stellar-xdr = { version = "...", default-features = true, features = [] }
功能
该crate具有多个功能、功能级别、辅助功能和XDR通道。
默认功能:std
、curr
。
功能级别
std
– std功能提供所有功能(类型、编码、解码),是默认功能集。alloc
– alloc功能使用Box
和Vec
类型进行递归引用和数组,如果启用了std功能,则会自动启用。使用默认的全局分配器。将在#39中添加对自定义分配器的支持。不存在编码或解码能力,只有类型。将在#46中添加编码和解码能力。- 如果未启用std或alloc,递归和数组类型需要静态生存期值。没有编码或解码能力。编码和解码能力将在#47中添加。
辅助功能
base64
– 启用对base64编码和解码的支持。serde
– 启用对使用serde crate序列化和反序列化类型的支持。serde_json
– 启用对serde_json特定内置功能的支持。通常不需要使用serde_json中的类型,仅当需要使用依赖于serde_json的实用函数时才必要。arbitrary
– 启用与arbitrary crate的互操作支持。hex
– 启用对某些类型字符串表示中的十六进制支持。在启用serde时自动启用。schemars
– 启用生成JSON Schema的支持。(实验性)
标记为实验性的功能可能会随时消失,也可能随时有破坏性更改,或者可能是完整的实现。
XDR通道
curr
– 从stellar/stellar-xdr
curr
分支构建的XDR类型。next
– 从stellar/stellar-xdr
next
分支构建的XDR类型。
如果启用单个通道,则类型在crate的根目录中可用。如果启用多个通道,则它们在crate根目录的模块中可用。
CLI
要使用CLI
cargo install --locked stellar-xdr --version ... --features cli
示例
解析TransactionEnvelope
stellar-xdr decode --type TransactionEnvelope << -
AAAAA...
-
从合约中解析ScSpecEntry
流
stellar-xdr +next decode --type ScSpecEntry --input stream-base64 --output json-formatted << -
AAAAA...
-
从桶文件中解析BucketEntry
封装流
stellar-xdr decode --type BucketEntry --input stream-framed --output json-formatted bucket.xdr
依赖关系
~0.8–2.1MB
~44K SLoC