etherscan如何获得区块链编译代码



我正在开发一个以太坊浏览器,我想知道etherscan是如何获得Contract源代码、ABI的,以及他们是如何将事务输入hexa解析为Contract的函数的?

提前感谢

合同开发人员(维护人员,或者基本上任何人(都可以在https://etherscan.io/verifyContract

当你在Etherscan上发布合同时,他们会询问你实际的源代码和编译参数,如使用的语言(如Solidity或Vyper(、编译器版本(如0.8.4(、优化设置和其他一些细节。

然后Etherscan用提供的params编译提供的代码,如果(现在编译的(字节码与区块链上的字节码匹配,它就会发布源代码。


ABI JSON是编译过程中返回的值之一,还有实际的字节码、操作码列表、错误数组等。

至于事务输入十六进制:他们使用一个函数签名字典,该字典可以转换为实际的函数定义(包括参数数据类型(。您可以在另一个答案中找到有关ABI编码函数签名和传递给函数的参数的更多信息。

相关内容

  • 没有找到相关文章

最新更新