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