我有合同ABI,我想查询合同。我知道存在用于此目的的web3.js,但是我还没有使用它。我想了解如何使用其ABI与已部署合同进行交互的基本情况。
我还使用metamask和myetherwallet来查询合同,但这不是我想要的。
答案 0 :(得分:1)
如果您拥有ABI和合同地址,则可以在其上执行方法。
我不确定您如何使用现有的C ++库在C ++中做到这一点。但是,在Web3.py(以及类似的Web3.js)中,在最基本的级别上,这很简单:
在Python using Web3.py中,这类似于:
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)
对于Web3.js 1.0,步骤几乎相同。
对于C ++,here's a popular client。如您所知,以太坊的大部分工作都是通过Go,Node或Python完成的。