1 个不稳定版本
0.4.0 | 2021年12月6日 |
---|
#12 in #ssz
57KB
1.5K SLoC
simpleserialize-bigendian (sszb)
与 ssz 相同,但使用 BigEndian 符号。
lib.rs
:
提供 SimpleSerialize (SSZ) 格式(用于 Ethereum 2.0)中的编码(序列化)和解码(反序列化)。
遵循 Ethereum 2.0 的规范,但端序已切换至 v0.12.1 的 SSZ 规范。
示例
use sszb_derive::{Encode, Decode};
use sszb::{Decode, Encode};
#[derive(PartialEq, Debug, Encode, Decode)]
struct Foo {
a: u64,
b: Vec<u16>,
}
fn sszb_encode_decode_example() {
let foo = Foo {
a: 42,
b: vec![1, 3, 3, 7]
};
let sszb_bytes: Vec<u8> = foo.as_sszb_bytes();
let decoded_foo = Foo::from_sszb_bytes(&sszb_bytes).unwrap();
assert_eq!(foo, decoded_foo);
}
请参阅 examples/
中对 Encode
和 Decode
特性的手动实现。
依赖项
~2MB
~50K SLoC