RLP是Recursive Length Prefix的简写。是以太坊中的序列化方法,以太坊的所有对象都会使用RLP方法序列化为字节数组。
RLP的源码不是很多, 主要看下三个文件:
decode.go 解码器,把RLP数据解码为go的数据结构
encode.go 编码器,把go的数据结构序列化为字节数组
raw.go 未解码的RLP数据
typecache.go 类型缓存, 类型缓存记录了类型->(编码器|解码器)的内容。
如何根据类型找到对应的编码器和解码器 typecache.go
编码器 encode.go
解码器 decode.go