我从事区块链开发工作已经有三年的时间了, 其中最让我感到头痛的事情并不是算法方面的难题, 而是寻找合适的图片资料。那些教程所需的图片分散在不同的论坛、文档网站以及GitHub仓库之中, 而且版本非常混乱, 标注也存在残缺不全的情况。
例如, 同一张关于Merkle树的示意图, 在不同的文章里面呈现出来的样子是完全不一样的。当我翻阅了一圈资料之后, 大脑里依然是空空如也的状态。

编码器教程图片怎么看懂
大多数教程里的图片, 所标注的内容是Merkle树节点哈希的生成路径, 可是这些图片里, input hash和final hash这两个东西的位置, 画得非常模糊, 让人看不清。
你若是拿着那种图片去代码里面, 寻找对应的行号, 十张图里面有有三张, 是使用了旧版API才截出来的图, 那些参数的内容完全就对不上号, 看着就让人感到着急。
真正意义上的, 比较有用的图表, 其实就是两种。第一种的类型是, 调用链的示意图, 它是用那个encoding的, 意思就是从最外层的函数签名开始, 一直画到keccak256打包为止。
第二种的情况是,calldata里面布局图的形式, 目的就是把每一个字段到底占据了多少字节的事情, 还有padding是怎么进行补充的这一过程, 全部都标得清清楚楚, 明明白白。当你遇到那种看起来很炫酷、很花哨的架构图的时候, 你只需要看个热闹就可以了, 千万不要往心里去。
区块链编码器图片去哪找
不要仅仅去搜索所谓的“教程”这两个字。你应该直接前往Solidity这个专有名词的官方文档, 并且找到ABI编码这一特定的章节部分。
其中的示意图会详细展示从编码的规则到调用数据布局的整个过程, 并且是一步一步地进行绘制的。这样做的逻辑链条是最为完整的。此外, 相关的版本信息是跟随编译器的标签进行更新的, 因此不会使用两年前的图片来敷衍了事。
如果在GitHub这个平台上面搜索"keccak256 encoder diagram"这串字符的话, 是能翻到几张那些标注得相当清晰的流程图的, 这些图比国内的那一些翻译版本要靠谱得多。
在B站那里存在一些比较老的视频,虽然那些视频配上的图片画质是很渣的, 但是上面的手标注释反而比官方出的图要好理解, 非常适合在入门的这个阶段去反复地观看。
光看收藏是不够的, 你应该自己动手画一次。拿出一张A4纸来, 把你脑子里的那个路径从input开始, 然后到encode, 再到hash, 这个流程自己完整地走一遍这个方法。这个方法的作用是一定比你对着十张图片发愁要强得多, 强了整整一百倍。
转载请注明出处:枣强文明网,如有疑问,请联系()。
本文地址:https://www.zqwxw.com/news/9570.html
