go ethereum 源码解析--rlp

2018-04-08  本文已影响0人  酷酷de熊

RLP介绍

RLP是Recursive Length Prefix的简写。是以太坊中的序列化方法,以太坊的所有对象都会使用RLP方法序列化为字节数组。

RLP代码结构

decode.go //解码器,把RLP数据解码为go的数据结构

decode_tail_test.go //解码器测试代码

decode_test.go //解码器测试代码

doc.go //文档代码

encode.go //编码器,把GO的数据结构序列化为字节数组

encode_test.go //编码器测试

encode_example_test.go

raw.go //未解码的RLP数据

raw_test.go

typecache.go //类型缓存, 类型缓存记录了类型->(编码器|解码器)的内容。

根据类型找到对应的编码器和解码器 typecache.go

GO语言本身不支持重载和泛型,typecache.go实现了通过自身的类型来快速的找到自己的编码器函数和解码器函数。

上一篇下一篇

猜你喜欢

热点阅读