尝试监控以太坊区块时获取“web3.eth.filter 不是功能”
Posted
技术标签:
【中文标题】尝试监控以太坊区块时获取“web3.eth.filter 不是功能”【英文标题】:Getting "web3.eth.filter is not a function" while trying to monitor Ethereum blocks 【发布时间】:2018-11-29 14:29:18 【问题描述】:我正在尝试使用 web3 监控第 12 次确认。我使用以下代码:
let filter = web3.eth.filter('latest',
filter.watch(function(error, result)
if (!error)
let confirmedBlock = web3.eth.getBlock(web3.eth.blockNumber - 11)
if (confirmedBlock.transactions.length > 0)
confirmedBlock.transactions.forEach(function(txId)
let transaction = web3.eth.getTransaction(txId)
if (transaction.to == account)
// Do something useful.
console.log("12 confirmations received");
)
);
但是这会引发错误web3.eth.filter is not a function
。
【问题讨论】:
【参考方案1】:看来您使用的是 web3.js v1.0。 v1中新区块头信息订阅方式为web3.eth.subscribe('newBlockHeaders', callback);
有关详细信息,请参阅the docs。
【讨论】:
以上是关于尝试监控以太坊区块时获取“web3.eth.filter 不是功能”的主要内容,如果未能解决你的问题,请参考以下文章