ethers.js 查询区块中的交易

推特@Hita_DAO   DiscordHitaDAO

在Ethers.js中,你可以使用Provider对象的getBlock方法来查询一个特定块的详细信息,包括在该块中发生的所有交易。以下是一个使用Ethers.js查询以太坊区块链中特定块中交易的示例代码

    const { ethers } = require("ethers");
 
    // 创建一个Provider实例,连接到以太坊主网
    const provider = new ethers.providers.InfuraProvider("mainnet", "");
     
    // 指定要查询的块号
    const blockNumber = 1234567;
     
    // 获取块信息
    provider.getBlock(blockNumber).then((block) => {
        console.log("Block Number:", block.number);
        console.log("Transactions:", block.transactions);
     
        // 如果你想获取每个交易的详细信息,你可以遍历交易哈希数组
        block.transactions.forEach(async (txHash) => {
            const tx = await provider.getTransaction(txHash);
            console.log(tx);
        });
    }).catch((error) => {
        console.error("Error fetching block:", error);
    });

请确保替换为你的Infura项目ID,并且blockNumber变量设置为你想查询的实际块号。这段代码将输出指定块中的所有交易哈希,并为每个交易输出详细信息。