11 个版本

0.3.8 2024 年 8 月 5 日
0.3.7 2024 年 6 月 28 日
0.3.5 2024 年 5 月 22 日
0.3.4 2023 年 12 月 22 日
0.1.0 2023 年 6 月 13 日

#407 in 魔法豆

Download history 43827/week @ 2024-04-28 43475/week @ 2024-05-05 48819/week @ 2024-05-12 44636/week @ 2024-05-19 51923/week @ 2024-05-26 48699/week @ 2024-06-02 45089/week @ 2024-06-09 52330/week @ 2024-06-16 58608/week @ 2024-06-23 52468/week @ 2024-06-30 52826/week @ 2024-07-07 63226/week @ 2024-07-14 65750/week @ 2024-07-21 57027/week @ 2024-07-28 68410/week @ 2024-08-04 77538/week @ 2024-08-11

272,769 每月下载量
171 个 crate 中使用 (37 直接)

MIT/Apache

46KB
1K SLoC

alloy-rlp

此 crate 提供了 Ethereum RLP (反) 序列化功能。RLP 通常用于 Ethereum EL 数据结构,其文档可在 ethereum.org 上找到。

使用

我们强烈建议通过 RlpEncodableRlpDecodable derive 宏来派生 RLP 特性。

然后可以通过 EncodableDecodable 特性访问特质方法。

示例

# #[cfg(feature = "derive")] {
use alloy_rlp::{RlpEncodable, RlpDecodable, Decodable, Encodable};

#[derive(Debug, RlpEncodable, RlpDecodable, PartialEq)]
pub struct MyStruct {
    pub a: u64,
    pub b: Vec<u8>,
}

let my_struct = MyStruct {
    a: 42,
    b: vec![1, 2, 3],
};

let mut buffer = Vec::<u8>::new();
let encoded = my_struct.encode(&mut buffer);
let decoded = MyStruct::decode(&mut buffer.as_slice()).unwrap();
assert_eq!(my_struct, decoded);
# }

依赖关系

~135–300KB