如何使用GETH获取合约地址对应的ABI?

Posted

技术标签:

【中文标题】如何使用GETH获取合约地址对应的ABI?【英文标题】:How to use GETH to obtain the ABI corresponding to the contract address? 【发布时间】:2021-10-21 17:20:57 【问题描述】:

现在可以通过solc编译或者etherscan获取ABI代码。目前我们已经部署了以太坊全节点,有没有办法直接根据合约地址获取对应的ABI。

【问题讨论】:

【参考方案1】:

您不能仅从已编译的字节码中获取 ABI JSON。你需要它的源代码。


这是因为 ABI JSON 代表什么。它表示publicexternal 函数的信息,您可以使用这些信息来计算这些函数的哈希签名。

但编译后的字节码只包含这些哈希签名。而且您不能将它们“取消散列”回原始信息对象。

【讨论】:

以上是关于如何使用GETH获取合约地址对应的ABI?的主要内容,如果未能解决你的问题,请参考以下文章

使用Nodejs部署智能合约

从 Etherscan API 获取合约 ABI 后创建合约时出错

请问在 BSCMAINET 上部署后如何获取我的令牌的 ABI

创建智能合约并使用 ABI 函数

深入以太坊智能合约 ABI

深入以太坊智能合约 ABI