我正在研究智能合同的安全性,并希望收集一个包含智能合同源代码的数据集。我想知道是否有允许这样做的API。
在以太扫描,您可以使用API来获取智能契约ABI,但是我想要源代码。我举个例子,因为所有经过验证的以太扫描合同都是一个很好的数据集。
我的目标是分析这些源代码,例如,根据分类法对它们进行分类,或者检查其中有多少包含某些模式。
发布于 2017-10-17 12:57:48
web3 JS有一个getCode函数,允许您访问契约的字节码--该字节码被部署到给定地址的块链中。
应该可以对此进行分析,以确定代码中的常见模式。
由于源代码在编译到字节码之前没有部署到块链中,所以不可能直接检索它--这就是以太扫描要求上传源代码以验证源代码的原因。
从字节码中反编译/推断源代码可能是可能的,但我不知道任何提供此功能的工具。
发布于 2018-04-11 21:31:21
最近,我为etherchain.org创建了一个名为聚醚链的非官方python库和可编写脚本的cli,它允许您访问提交的稳固契约源代码,包括(实验性)abi解码的构造函数参数/事务。abi解码的输入可以帮助您理解合同/人员如何与智能契约进行交互。
安装和启动:python -m pip install pyetherchain; python -m pyetherchain
下面是我在这里发现的一些有趣的事 (查看注释头块中的abi解码事务)
发布于 2022-07-18 07:01:38
在以太扫描API文档上,您可以找到Get Contract Source Code for Verified Contract Source Codes
https://ethereum.stackexchange.com/questions/28654
复制相似问题