我正在尝试使用ethers.js(v5.6)为传入事务创建一个侦听器。根据文档,要监听传入的交易,您需要创建以下过滤器:
// List all token transfers *to* myAddress:
filter = {
address: tokenAddress,
topics: [
utils.id("Transfer(address,address,uint256)"),
null,
hexZeroPad(myAddress, 32)
]
};
在我的脚本中有这个给了我一个错误,说utils.id("Transfer(address,address,uint256)"), ReferenceError: utils is not defined
。我在文档中找不到任何关于导入utils包的内容。有人能帮我解决吗?
完整代码:
async function incomingTransactions() {
if (loadedUser) {
console.log("User loaded", loadedUser)
let myAddress = loadedUser.publicKey
let filter = {
address: myAddress,
topics: [
utils.id("Transfer(address,address,uint256)"),
null,
hexZeroPad(myAddress, 32)
]
};
// let foo = await provider.getLogs(filter)
// console.log(foo)
}
console.log("No user loaded")
}
const interval = setInterval(function() {
incomingTransactions();
}, 5000);
2条答案
按热度按时间pw9qyyiw1#
看起来
utils
是ethers
对象的一部分,而hexZeroPad
和id
是utils
的一部分,所以你可以这样使用它们:5cnsuln72#
在版本6中,utils不存在,因为所有的utils方法现在都是ethers对象的一部分,另外不要忘记有一些破坏性的更改,请在迁移页面上查看更多