5 个版本
使用旧的 Rust 2015
0.1.4 | 2018 年 9 月 21 日 |
---|---|
0.1.3 | 2018 年 9 月 14 日 |
0.1.2 | 2018 年 9 月 4 日 |
0.1.1 | 2018 年 9 月 4 日 |
0.1.0 | 2018 年 9 月 4 日 |
#1256 在 编码
275 每月下载次数
在 16 个 crate 中使用 (通过 raiden-network-messages)
38KB
1K SLoC
serde-rlp
作为 Serde 数据格式实现的以太坊 RLP 编码
此代码是 clarity
的一部分 - 这是一个实现轻量级以太坊交易签名的努力。WIP。
发布
要发布 serde-rlp
的新版本,请按照以下步骤操作:
# Do a signed tag for new version with annotation "YYYY-MM-DD, Version v$VERSION"
git tag v1.0.0 -a -s "2018-09-04, Version v1.0.0"
git push origin --follow-tags
示例
你应该能够像在 serde 中使用其他序列化格式一样使用此 crate。
序列化
序列化的关键是 serde_rlp::ser::to_bytes
,它执行魔法。
extern crate serde_rlp;
use serde_rlp::ser::to_bytes;
// Basic key values
let data = vec![vec!["key1", "value1"], vec!["key2", "value2"]];
let bytes = to_bytes(&data).expect("Unable to serialize data");
println!("Serialized data: {:?}", bytes);
反序列化
要将数据反序列化为对象,您应使用 serde_rlp::de::from_bytes
。
extern crate serde_rlp;
use serde_rlp::de::from_bytes;
// Deserialize string "abc" encoded as RLP
let foo: String = from_bytes(&[0x83, 0x61, 0x62, 0x63]).unwrap();
println!("{}", foo);
一个有用的模式是将数据反序列化为 Vec<Bytes>
,它将正确地反序列化 RLP 列表中的元素。
依赖项
~0.6–1MB
~20K SLoC