6 个版本 (3 个重大变更)

0.4.0 2021 年 11 月 23 日
0.3.0 2021 年 8 月 24 日
0.2.0 2021 年 7 月 29 日
0.1.2 2019 年 7 月 19 日

#7 in #ssz

Download history · Rust 包仓库 305/week @ 2024-03-25 · Rust 包仓库 378/week @ 2024-04-01 · Rust 包仓库 155/week @ 2024-04-08 · Rust 包仓库 213/week @ 2024-04-15 · Rust 包仓库 150/week @ 2024-04-22 · Rust 包仓库 357/week @ 2024-04-29 · Rust 包仓库 425/week @ 2024-05-06 · Rust 包仓库 217/week @ 2024-05-13 · Rust 包仓库 185/week @ 2024-05-20 · Rust 包仓库 88/week @ 2024-05-27 · Rust 包仓库 120/week @ 2024-06-03 · Rust 包仓库 206/week @ 2024-06-10 · Rust 包仓库 365/week @ 2024-06-17 · Rust 包仓库 229/week @ 2024-06-24 · Rust 包仓库 196/week @ 2024-07-01 · Rust 包仓库 226/week @ 2024-07-08 · Rust 包仓库

1,058 每月下载量
用于 6 crates

Apache-2.0

62KB
1.5K SLoC

simpleserialize (ssz)


lib.rs:

提供在 SimpleSerialize (SSZ) 格式下进行的编码(序列化)和解码(反序列化)。

遵循以太坊 2.0 版本 v0.12.1 的 SSZ 规范

示例

use ssz_derive::{Encode, Decode};
use ssz::{Decode, Encode};

#[derive(PartialEq, Debug, Encode, Decode)]
struct Foo {
    a: u64,
    b: Vec<u16>,
}

fn ssz_encode_decode_example() {
    let foo = Foo {
        a: 42,
        b: vec![1, 3, 3, 7]
    };

    let ssz_bytes: Vec<u8> = foo.as_ssz_bytes();

    let decoded_foo = Foo::from_ssz_bytes(&ssz_bytes).unwrap();

    assert_eq!(foo, decoded_foo);
}

请参阅 examples/ 以查看 EncodeDecode 特性的手动实现。

依赖项

~470KB