ethereum - 如何使用GETH获取合约地址对应的ABI?
问题描述
现在可以通过solc编译或者etherscan获取ABI代码。目前我们已经部署了以太坊全节点,有没有办法直接根据合约地址获取对应的ABI。
解决方案
您不能仅从已编译的字节码中获取 ABI JSON。你需要它的源代码。
这是因为 ABI JSON 代表什么。它表示有关public
和external
函数的信息,您可以使用这些信息来计算这些函数的哈希签名。
但是编译后的字节码只包含这些哈希签名。而且您不能将它们“取消哈希”回原始信息对象。
推荐阅读
- c# - 如何检查一个字符串是否匹配多个字符串并根据匹配返回值
- powershell - 如何使用powershell在名称中设置带点的环境变量?
- c# - MySql.Data.MySqlClient.MySqlException - 已经有一个打开的 DataReader 与此 Connection 关联,必须先关闭它
- java - Spring Boot @GeneratedValue(strategy = GenerationType.IDENTITY) 不起作用
- postgresql - 将 Microsoft Access like 语句传输到 postgresql
- javascript - 有没有办法在 Squarespace 登陆页面中实现 DKI,或者我必须手动创建 800 个不同标题的页面?
- sql - SQL Server 查询中的动态表名和变量名
- java - 使用 GET 请求 okhttp 错误下载 PDF 文件
- javascript - 我想以 ajax 形式发布 base64 字符串值
- sql-server - 发生 OLE DB 错误。错误代码:0x80040E14,列名无效