RLP是由以太坊定义的一个序列化/反序列化协议,它用于序列化以下结构的数据:
enum T {
B(Vec<u8>),
L(Vec<T>),
}和json、protobuf等相比,RLP中没有bool,string等类型,只有字节串和列表,由应用层去解释字节串的含义。不像json、protobuf,RLP可以保证完美的字节一致性。比如对于json来说,键值对是不保证有序的。
RLP的具体规范在以太坊黄皮书 Appendix B中定义
RLP是由以太坊定义的一个序列化/反序列化协议,它用于序列化以下结构的数据:
enum T {
B(Vec<u8>),
L(Vec<T>),
}和json、protobuf等相比,RLP中没有bool,string等类型,只有字节串和列表,由应用层去解释字节串的含义。不像json、protobuf,RLP可以保证完美的字节一致性。比如对于json来说,键值对是不保证有序的。
RLP的具体规范在以太坊黄皮书 Appendix B中定义