首页 > 解决方案 > 监听大量地址的存款

问题描述

所以,我正在尝试建立一个系统来监听一组地址中的 USDT 存款。问题是每次用户添加地址时,我都没有办法让etherjs监听该地址,因为我必须删除所有监听器并再次添加新的监听器。如果我不这样做,我将为每个地址添加一个新的侦听器,这似乎效率低下。

我正在使用此代码

this.provider.removeAllListeners();

Object.keys(CONTRACT_ADDRESSES).forEach((key: string) => {
                    
    let filter: any = {
        address: CONTRACT_ADDRESSES[key],
        topics: [
            ethers.utils.id(TRANSFER_CONTRACT_ID),
            null,
            USER_ADDRESSES
        ]
    }
       
    this.provider.on(filter, DEPOSIT_RECIEVED);
});

是否有机会添加新地址而无需删除当前听众?

我在 Node 上使用 Typescript 和 EtherJs。

谢谢!

标签: javascriptlistenerblockchainethers.js

解决方案


推荐阅读