You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看本地部署的完整以太坊区块链全量数据?

本地Hardhat节点查询全量链上数据操作指南

首先要先确认你的节点运行模式:如果你执行部署命令前没有单独启动npx hardhat node进程,本次部署用的是Hardhat临时内存节点,命令执行结束后节点会直接销毁,链上数据不会持久化保存,你需要先启动独立节点后重新部署,才能查询到对应数据。

以下是具体的查询操作方法:

方法1:直接查看节点实时日志

这是最简单的方法,所有链上操作都会直接在节点运行的终端输出:

  • 新开一个终端窗口,执行命令启动本地持久化节点:npx hardhat node
  • 启动成功后终端会输出初始测试账户、私钥信息,后续所有链上操作(包括交易发起、区块生成、合约部署、事件触发等)的全量明细都会实时打印在该终端,包含交易哈希、发起/接收地址、gas消耗、输入数据、返回值等全部信息。
  • 再新开一个终端窗口执行你的部署命令npx hardhat run scripts/deploy.js --network localhost,对应的部署交易细节会同步显示在节点终端中。

方法2:通过Hardhat控制台主动查询历史数据

如果需要主动检索指定区块、交易的信息,可以用Hardhat自带的交互控制台:

  • 确保本地hardhat node进程正常运行,新开终端执行命令进入控制台:npx hardhat console --network localhost
  • 执行以下命令查询对应数据:
    • 查询当前链上最新区块高度:await ethers.provider.getBlockNumber()
    • 查询指定区块的完整数据(包含区块内所有交易明细):以查询第5个区块为例,执行await ethers.provider.getBlock(5, true),第二个参数传true会返回区块内所有交易的完整信息
    • 查询指定交易的详情:拿到交易哈希后,执行await ethers.provider.getTransaction("替换为你的交易哈希")
    • 查询指定地址的交易记录:遍历所有区块,筛选出from或to字段为目标地址的交易即可。

方法3:导出完整链上账本到本地文件

如果需要将全量链上数据导出做后续分析,可以自己写简单的脚本完成导出:

  1. 新建脚本文件scripts/exportFullChain.js,写入以下内容:
const hre = require("hardhat");

async function main() {
  const latestBlock = await hre.ethers.provider.getBlockNumber();
  const fullChainData = [];
  // 遍历所有区块拉取完整数据
  for (let blockNum = 0; blockNum <= latestBlock; blockNum++) {
    const block = await hre.ethers.provider.getBlock(blockNum, true);
    fullChainData.push(block);
  }
  // 格式化输出JSON
  console.log(JSON.stringify(fullChainData, null, 2));
}

main().catch(err => {
  console.error(err);
  process.exitCode = 1;
});
  1. 执行导出命令:npx hardhat run scripts/exportFullChain.js --network localhost > full_chain.json
  2. 执行完成后当前目录下的full_chain.json文件就包含了本地链从创世块到最新块的所有链上数据,包括所有区块、交易、事件日志等完整信息。

内容的提问来源于stack exchange,提问作者Blockchain Kid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:48:00