要調用智能合約,首先需要安裝Python的以太坊開發工具包(Web3.py)。可以使用以下命令進行安裝:
pip install web3
安裝完成后,你可以使用以下步驟調用智能合約:
from web3 import Web3
from json import loads
w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
abi = loads('<合約ABI JSON字符串>')
contract = w3.eth.contract(address='<合約地址>', abi=abi)
myMethod
的方法,可以使用以下代碼來調用:result = contract.functions.myMethod(<參數1>, <參數2>).call()
這將返回myMethod
的返回值。
transact()
方法發送交易。例如,如果合約有一個名為myMethod
的修改方法,可以使用以下代碼來發送交易:transaction = contract.functions.myMethod(<參數1>, <參數2>).transact({'from': '<發送者地址>'})
transaction_receipt = w3.eth.waitForTransactionReceipt(transaction)
這將返回交易的收據,其中包含交易的狀態和其他信息。
請注意,你需要替換示例代碼中的占位符(如<合約ABI JSON字符串>
、<合約地址>
、<參數1>
等)為實際的值。
另外,你需要確保你的以太坊節點已經同步了整個區塊鏈,并正確配置了與節點的連接。