以太坊 RLP (递归长度前缀) 编码及RLP编码规则

RLP(Recursive Length Prefix)是用于以太坊数据网络传输和持久化存储的编码方式。相较于JSON和ProtoBuf,RLP解决了体积过大和跨语言一致性问题。RLP编码规则简单,适用于以太坊的特定需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习笔记之RLP

RLP(Recursive Length Prefix)即递归长度前缀编码,RLP 主要用于以太坊数据的网络传输和持久化存储。
比较常见的序列化方法有 JSON,ProtoBuf,但是这些序列化方法在以太坊这样的场景下都有一些问题,如:

  • Json 编码,编码后的体积比较大,存在很多冗余数据。
  • protoBuf 这样的二进制格式呢,因 JavaScript 这样的弱类型语言,是没有 int 类型的,所有数字都是用 Number类型,底层用浮点数来实现,protoBuf 就会导致因为语言的不同编码后的数据有一定差异,最后得到的 hash 值也不同。

针对这些问题,以太坊设计了 RLP 编码,同时也大幅简化了编码规则。

RLP 编码基于上面两种数据类型提出了 5 条编码规则

(转自大牛博客,在此谢过)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值