首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >abi规范在坚固性中使用什么类型的编码?

abi规范在坚固性中使用什么类型的编码?
EN

Ethereum用户
提问于 2019-01-07 06:37:16
回答 1查看 604关注 0票数 2

牢靠性的abi规范,它使用某种类型的编码提供像abi.encodePacked()这样的函数(例如:函数是一个4字节的函数签名散列,后面是参数编码)。我的问题是,是否有这样一个特定编码格式的名称?我们在使用RLP编码吗?如果没有,为什么不能将RLP类型编码用于abi规范?据我所知,RLP更多的是“自我描述”,可能不需要一个abi文件作为描述符。

EN

回答 1

Ethereum用户

发布于 2019-01-07 07:26:38

也许我不完全理解您的问题,但我可以说,应该考虑到ABI不是契约的内部编码,而是以人类可读的格式描述接口,从该格式可以构建内部跳转函数调用哈希表,该表被排序并作为纯RLP使用。

特别是,条目的顺序是RLP定义中为基六指定的顺序。[K1,v1,K2,v2 .]按照规定使用字符串的标准排序进行排序。

在字节码中没有存储任何ABI,而是引用函数调用哈希表。在合同之外需要了解ABI,以便定义和计算上面引用的‘ki’,其中‘vi’是调用‘i’函数的地址。

另一方面,由您引用的solidity函数实现的“abi编码”只不过是对每个元素的零填充模式,以及它们在单个结构中的组成,仅此而已,如下所述:https://link.medium.com/zVpLc3qihT

我希望能补充一些有帮助的信息。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/65125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档