Remix

如何使用 Python 在 Kovan 上呼叫已部署的智能合約?

  • April 19, 2022

智能合約使用 Remix IDE 編寫並部署在 Kovan 上,並註入 Metamask Kovan 測試網路帳戶。但是,我需要 python 來處理智能合約中函式的大量輸入。我怎樣才能做到這一點?我嘗試註冊了一個Infura賬戶並使用它與函式進行互動,python程式碼執行流暢,但我看不到智能合約有任何變化。所以我想知道我如何才能實現這個目標。提前致謝。

我的程式碼邏輯如下。

w3 = Web3(Web3.HTTPProvider('https://kovan.infura.io/v3/...(my address)'))
ctr = w3.eth.contract(address=address, abi=abi) # address and abi are both specified previously
ctr.functions.my_func(input).call()

任何智能合約呼叫都不能改變乙太坊狀態。

您需要執行交易並支付汽油費才能進行任何狀態更改。沒有自由狀態更改。

使用transact()而不是call(). 您還需要設置本地私鑰

引用自:https://ethereum.stackexchange.com/questions/126489