Fast RLP encoder/decoder
https://github.com/umbracle/fastrlp
FastRlp 不使用反射来避免瓶颈。它提供可以编码或解码为任何特定类型的单值原语
编码:
a := &fastrlp.Arena{}
// Encode a uint
v := a.NewUint(300)
buf := v.MarshalTo(nil)
// Encode an array
v = a.NewArray()
v.Set(a.NewUint(300))
buf = v.MarshalTo(nil)
您可以在此处找到更多示例。
解码:
p := &fastrlp.Parser{}
v, err := p.Parse([]byte{0x01})
if err != nil {
panic(err)
}
num, err := v.GetUint64()
if err != nil {
panic(err)
}
fmt.Println(num)