建议和反馈

请填写你的反馈内容

问答 > 以太坊 > 问答详情

如何查看以太坊智能合约信息?10LK


我想知道3件事:

  1. 地址是智能合约吗?

  2. 这个智能合约是ERC20还是ERC721令牌?

  3. Solidity代码是公开的吗?


2019-09-11
0
请先登陆或注册

heart2019-09-11

3. 最好是去etherscan上验证。如果已验证过的,可以直接下载源码,如果没有验证(但是你有源码),你可以手动上传源码尝试验证。

投一票
评论(0)
赞赏(0)
七乐彩2019-09-11

对于1,您可以使用web3.eth.getCode(address)Web3 API的功能。对于合同地址,它返回合同字节代码,而对于非合同地址,它返回类似的内容"0x"。


对于3,它取决于“公共”对您的意义。如果您的意思是智能合约是否验证了在Etherscan.io上发布的源代码,那么您可以使用API调用通过合同地址获取源代码,或者下载已验证源代码的所有合同地址的完整列表:https:// etherscan .io / apis#contracts。


2是最棘手的,因为除了分析其源代码之外,没有可靠的方法来了解智能合约是否实现特定接口。虽然可能会有一些提示。您可以检查智能合约是否已记录Transfer(address indexed, address indexed, uint256)(针对ERC-20)或Transfer(address indexed, address indexed, uint256 indexed)(针对ERC-721)事件,但这样您将无法识别其令牌尚未转移的令牌合约。


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 1
  • 0
  • 3
  • 6
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励