尝试监控以太坊区块时获得 "web3.eth.filter is not a function"
Getting "web3.eth.filter is not a function" while trying to monitor Ethereum blocks
我正在尝试使用 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
。
看来您使用的是 web3.js v1.0。 v1中订阅新区块头信息的方式是web3.eth.subscribe('newBlockHeaders', callback);
有关详细信息,请参阅 the docs。
我正在尝试使用 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
。
看来您使用的是 web3.js v1.0。 v1中订阅新区块头信息的方式是web3.eth.subscribe('newBlockHeaders', callback);
有关详细信息,请参阅 the docs。