ethers.js 查询区块中的交易
在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变量设置为你想查询的实际块号。这段代码将输出指定块中的所有交易哈希,并为每个交易输出详细信息。