尝试监视以太坊块时获取“ web3.eth.filter不是函数”

时间:2018-06-20 12:39:01

标签: ethereum web3 web3js

我正在尝试使用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 个答案:

答案 0 :(得分:2)

您似乎正在使用web3.js v1.0。在v1中订阅新块标题信息的方法是web3.eth.subscribe('newBlockHeaders', callback);

有关更多信息,请参见the docs