对于web3 v5.x.x,
事件日志过滤器如下:
myContract.events..createFilter(fromBlock="latest",event_filter= argument_filters={'arg1':10}) event_filter.get_new_entries()
目标:我想打印智能契约的日志,就像在web3.js上一样,使用web3.py。
在web3.js方面,下面的代码片段可以工作:
var event = myContract.LogJob({}, {fromBlock:0, toBlock:'latest'});
event.watch(function(error, result) {
console.log(JSON.stringify(result));
});但是在web3.py方面,我无法让它工作。*(我跟踪了以下文件。
event_filter = myContract.eventfilter('LogJob', {'filter': {'arg1':10}})我所犯的错误:
AttributeError: 'Contract' object has no attribute 'eventFilter'我也尝试过下面的代码行,但它也没有起作用:
event = myContract.call().LogJob({}, {'fromBlock':100, 'toBlock':110});问:,我是不是做错什么了?我怎么才能解决这个问题?
发布于 2018-03-21 17:53:45
您正在尝试使用v4功能。安装v3的可能性很大。要安装最新的v4版本,请使用:
pip3 install --upgrade web3https://ethereum.stackexchange.com/questions/43091
复制相似问题