2个版本
0.1.2 | 2019年6月11日 |
---|---|
0.1.1 | 2019年6月10日 |
#5 in #ewasm
18KB
463 行
sszt
ssz的易读序列化。
格式
sszt
引擎被编写为用于递归的 SsztValue
枚举的 Serde 反序列化器,并且应该很容易修改以支持 Serde 支持的大多数格式。
目前支持两种主要格式
- JSON
- YAML
与 JSON / YAML 规范的最大差异是在数字末尾使用字符串附加整数类型,并在第一个元素中声明类型数组(列表/向量)。
类型 | 表示 |
---|---|
null | null |
bool | true | false |
number | "N:{u8|u16|u32|u64|u128|u256}" |
string | "string" |
vector (固定长度) | ["vector", "0:u8", "1:u8"] |
list (可变长度) | ["list", "0:u8", "1:u8"] |
object | { "key1": "123:u32", "key2": ["vector", "456:u32"] } |
示例
{
"new_messages": [
"list",
{
"timestamp": "1:u64",
"message": "0:u256"
},
{
"timestamp": "2:u64",
"message": "454086624460063511464984254936031011189294057512315937409637584344757371137:u256"
}
],
"state": {
"messages": ["list"]
}
}
ssz编码: 5c0000005000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000010101010101010101010101010101010101010101010101010101010101010400000000000000
--
{
"messages": [
"list",
{
"timestamp": "1:u64",
"message": "0:u256"
},
{
"timestamp": "2:u64",
"message": "454086624460063511464984254936031011189294057512315937409637584344757371137:u256"
}
]
}
ssz编码: 5c0000005000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000001010101010101010101010101010101010101010101010101010101010101010400000000000000
--
{
"fixed": [
"vector",
["vector", "0:u8"],
["vector", "1:u8"],
["vector", "2:u8"],
["vector", "3:u8"],
["vector", "4:u8"]
],
"other": {
"a": {
"b": {
"c": {
"d": [
"vector",
"16:u16"
]
}
}
},
"b": "32:u32"
}
}
ssz编码: 0001020304100020000000
维护者
许可证
Apache 2.0
依赖
~2.5–3.5MB
~71K SLoC