Ethereum 使用ABI查询以太坊合同或与以太坊合同交互

Ethereum 使用ABI查询以太坊合同或与以太坊合同交互,ethereum,abi,contract,Ethereum,Abi,Contract,我有合同ABI,我想查询合同。我知道存在用于此目的的web3.js,但我没有使用它。我想了解如何使用其ABI与部署的契约进行交互的基本情况 是否有其他方式使用ABI并查询合同 我正在用C++/Qt编程,我想用ABI查询合同。有什么想法吗 我还使用metamask和MyTherWallet查询合同,但这不是我想要的。如果您有ABI和合同地址,您可以在其上执行方法 我不确定在C++中如何在现有C++库中实现这一点。然而,在Web3.py(与Web3.js类似)中,在最基本的层面上,它相当直截了当:

我有合同ABI,我想查询合同。我知道存在用于此目的的web3.js,但我没有使用它。我想了解如何使用其ABI与部署的契约进行交互的基本情况

  • 是否有其他方式使用ABI并查询合同
  • 我正在用C++/Qt编程,我想用ABI查询合同。有什么想法吗

  • 我还使用metamask和MyTherWallet查询合同,但这不是我想要的。

    如果您有ABI和合同地址,您可以在其上执行方法

    我不确定在C++中如何在现有C++库中实现这一点。然而,在Web3.py(与Web3.js类似)中,在最基本的层面上,它相当直截了当:

  • 使用ABI和合同地址创建合同实例
  • 获取要运行的契约函数的实例
  • 使用任何参数在合同方法上运行事务
  • 等待事务哈希(tx\U id)
  • 使用tx_id获取收据。收据上有所有的物品,如使用的气体、结果数据等
  • 在中,这将类似于:

    contract_instance = web3.eth.contract(address, abi)
    contract_function = contract_instance.functions["contractMethodToRun"]
    tx_hash = contract_function(*params).transact(tx_dict)
    receipt = web3.eth.waitForTransactionReceipt(tx_hash)
    
    例如,步骤几乎相同

    < C++ >。正如您现在所知,以太坊上的大多数工作都是使用Go、Node或Python完成的