Solidity

Python 3 如何通過 createFilter web3.py v4.2.1 製作事件過濾器

  • May 28, 2018

根據 Web3.py 文件:http ://web3py.readthedocs.io/en/latest/filters.html

引用“event_filter = contract.events.myEvent.createFilter(fromBlock=‘latest’, {‘filter’: {‘arg1’:10}})”

                                                             ^

然後我得到:“SyntaxError:位置參數跟隨關鍵字參數”

然後我刪除了“fromBlock=‘lastest’”

event_filter = contract.events.myEvent.createFilter({‘filter’: {‘arg1’:10}})

然後我得到:“TypeError:createFilter() 需要 1 個位置參數,但給出了 2 個”

好的……然後我用Google搜尋…… https://stackoverflow.com/questions/23944657/typeerror-method-takes-1-positional-argument-but-2-were-given

讓我們試試:my_new_object = cInst.events()

然後我得到“TypeError:‘ContractEvents’對像不可呼叫”

這個 web3.py 文件是否有效???我很失望… :(

請幫忙。謝謝

您可以在 web3py 中使用以下方法來獲取事件:

myfilter = mycontract.eventFilter('EventName', {'fromBlock': 0,'toBlock': 'latest'});
eventlist = myfilter.get_all_entries()

eventlist將是一個字典列表,其中包含已發生的每個事件的參數。

希望這可以幫助。

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