NodeJS 监听内存池中的事务,但实际上我希望列出挖掘的事务

fkaflof6  于 2022-12-12  发布在  Node.js
关注(0)|答案(1)|浏览(137)

这是我的问题。目前正在研究这行代码,以跟踪内存池中某个钱包的交易。

provider.on("pending", async (txHash) => {      
provider.getTransaction(txHash).then(async (tx) => { 
    try {    
 if (tx && Object.keys(addresses).filter(key => {      
   return
 addresses[key].hasIncoming && !addresses[key].blocked;          
 }).map(x => x.toLowerCase()).includes(tx.from.toLowerCase())) {       
 console.log("New transaction from " + tx.from);``

我其实想听听已经挖掘的交易,但似乎找不到任何东西:https://docs.ethers.io/v5/api/providers/provider/#Provider--events既然没有事件。
你知道我该怎么做吗?
我尝试了每一个事件,但没有返回我挖掘的交易哈希。

5sxhfpxr

5sxhfpxr1#

您可以订阅block事件,然后取得新区块中的交易清单。

const {ethers} = require("ethers");
const provider = new ethers.providers.WebSocketProvider("wss://mainnet.infura.io/ws/v3/<api_key>");
provider.on("block", async (blockNumber) => {
    const block = await provider.getBlockWithTransactions();
    for (let tx of block.transactions) {
        // if (tx)
    }
});

文件:https://docs.ethers.io/v5/api/providers/provider/#Provider-getBlockWithTransactions

相关问题