#encode-decode #ssz #ethereum #deserialize #decoding #u64 #debugging

已删除 sean_test_eth2_ssz

Ethereum 2.0 中使用的 SimpleSerialize (SSZ)

0.1.2 2021年7月16日

#17#ssz


用于 sean_test_eth2_ssz_types

Apache-2.0

54KB
1.5K SLoC

simpleserialize (ssz)


lib.rs:

提供 SimpleSerialize (SSZ) 格式在 Ethereum 2.0 中使用的编码(序列化)和解码(反序列化)。

遵循 Ethereum 2.0 的 SSZ 规范 v0.12.1。

示例

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 特性的手动实现。

依赖关系

~490KB