以太坊使用web3j监听特定的logs,用法。
更多区块链技术与应用分类:
使用web3监听特定的logs时,需先要知道每条log的topics,web3Client.eth.subscribe('logs',{param}},参数中topics为一数组,参数topics[0]为所监听的topic Array中的第一项(通常为事件名称),参数topics[1]则为indexed的第一个参数。如图,参数topics[0]为数组,意思是该数组中任意一个匹配即可(”或“的关系)。
var subscription = web3Client.eth.subscribe('logs', {
fromBlock: 'latest',
topics: [[
'0x6127e12f74881841fd4934157f9e683c0613e448f51dade259b7566cfb549591',
'0xe1abff435c7322cf9407bef24e299a6533554209c66839f7e1f93db109d318d2', // Payout
'0x233e08447f8306452db45f9f8a63d4728bc76ce9dfdac80fa38687dc5d895135']
]
}, function(error, result){
if(!error){
logger.debug("subscription result:",result);
}else {
logger.error("subscription error:",error);
}
}).on("data", function(log){
logger.debug("subscription data:",log);
});
原文链接:web3j监听合约logs事件