首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从接口获取ABI

从接口获取ABI
EN

Ethereum用户
提问于 2021-04-27 20:28:47
回答 1查看 206关注 0票数 1

我能从接口中得到ABI吗?

假设我有一个名为ContractInterfaceExample.sol的文件

代码语言:javascript
复制
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.12;
interface ContractInterfaceExample {
 
  function doStuff(bool val) external;
}

我能从web3.py中得到这个ABI吗?

代码语言:javascript
复制
# something like
import ContractInterfaceExample.sol?

w3 = Web3(Web3.HTTPProvider(os.getenv('RPC_URL')))
contract = w3.eth.contract(address=address, abi=???)
EN

回答 1

Ethereum用户

发布于 2022-12-26 22:41:05

以下是我的方法:

代码语言:javascript
复制
async def DEXFetchAbi(addr):
    try:
        url = abiurl
        params = {
            "module": "contract",
            "action": "getabi",
            "address": addr,
            "apikey": abiurltoken }   
        headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}   
        resp = requests.get(url, params=params, headers=headers).json()
        abi = resp["result"]
        if(abi!=""):
            return abi

使用addr= 0x10ED43C718714eb63d5A57B54704E256024E(煎饼交换https://bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E) abiurltoken = API来自https://bscscan.com,如果您试图在testnet上获得它,则可能需要报头,否则可以忽略它。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/97909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档