可以看出编码方式很简单,重点是理解其中各符合的定义:x是一个nibble(半字节,在计算机中,通常将8位二进制数称为字节,而把4位二进制数称为半字节)数组,t是标志位,用以标志节点类型。 为什么要进行编码? 在以太坊协议中,不管是地址还是hash,都是一个16进制串,如"0x5b3edbcf7d0a97e95e57a4554a29ea66601b71ad",数据最小的表示单位为一位16进制,2^4=16,用4bit可以表示十六进制所有数字(个人根据上下文理解加上去的,别人没解释这一句),如1、a等,但在编程实现中,数据的最小表示单位往往是byte(8bit,2位16进制数),这样在用byte来表示一串奇数长度的16进制串时会出现问题,如"5b3"和"5b30",直接转成byte都是5b30。还有一种简单直观的转换方式,"5b3"->"050b03",这种方式虽然简单,但是数据量会翻倍,不利于大量hash的计算,同时也会增加tree的大小,降低同步性能。Hex-Prefix Encoding能解决这些问题。 —- 编译者/作者:嘿嘿嘿 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
以太坊的编码
2019-12-24 嘿嘿嘿 来源:区块链网络
LOADING...
相关阅读:
- 不动产也是未来比特币的一种方式?2020-10-28
- Vitalik Buterin:以太坊协议面临着协议升级和去中心化治理可能被攻击的2020-10-26
- 金融科技生态系统在2020年脱颖而出的3种方式-以及如何前进2020-10-22
- 西站DeFi挖矿实盘总结,我是如何将100万key翻了3倍赚到300万key的2020-10-18
- Chiara Ferragni Instagram明星正在考虑发行股票2020-10-16