ethers.js 查询指定区块
在Ethers.js中,你可以使用provider.getBlock(blockHashOrBlockNumber)
方法来查询指定的区块信息。这里是一个简单的例子,展示如何使用Ethers.js查询特定区块的信息:
const { ethers } = require("ethers"); // 创建一个provider实例,连接到以太坊主网 const provider = new ethers.providers.InfuraProvider("mainnet", "<YOUR_INFURA_PROJECT_ID>"); // 指定要查询的区块号或哈希 const blockNumberOrHash = 1234567; // 或者使用区块哈希: "0xabcdef..." // 获取区块信息 async function getBlockInfo(blockNumberOrHash) { try { const block = await provider.getBlock(blockNumberOrHash); console.log(block); } catch (error) { console.error("Error fetching block: ", error); } }
确保替换<YOUR_INFURA_PROJECT_ID>
为你的Infura项目ID,这样才能连接到以太坊网络。你也可以使用其他provider,如ethers.getDefaultProvider()
,但需要确保你的节点是同步的并且可访问的。
上述代码中,getBlockInfo
函数接受一个blockNumberOrHash
参数,你可以传递区块号或者区块哈希来查询特定的区块。函数使用provider.getBlock
异步获取区块信息,并打印结果。如果发生错误,会捕获错误并打印。