手把手教你搭建以太坊私链浏览器,Blockscout 实战教程
在以太坊开发中,我们经常需要搭建私链(私有链)来进行智能合约测试和 DApp 开发调试,但私链搭建完成后,如果只能通过命令行查询区块和交易信息,开发效率会大打折扣,这时候,一个可视化的区块链浏览器就显得尤为重要。
本文将介绍如何使用开源项目 Blockscout,为自己的以太坊私链搭建一个功能完善的区块链浏览器,效果类似以太坊主网的 Etherscan。
环境准备
在开始之前,请确保服务器已安装以下软件:
- 操作系统:Ubuntu 20.04 或 CentOS 7+
- Docker & Docker Compose(推荐使用容器化部署,省去依赖烦恼)
- Geth:以太坊客户端
- Git
安装 Docker 的命令如下:
curl -fsSL https://get.docker.com | bash systemctl start docker && systemctl enable docker
搭建以太坊私链
创建创世区块配置文件
新建 genesis.json:
{
"config": {
"chainId": 12345,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"clique": {
"period": 15,
"epoch": 30000
}
},
"difficulty": "1",
"gasLimit": "8000000",
"alloc": {}
}
初始化并启动私链
# 初始化 geth --datadir ./data init genesis.json # 创建账户(用于出块) geth --datadir ./data account new # 启动私链(注意:必须开启 debug API,Blockscout 依赖 trace 接口) geth --datadir ./data \ --networkid 12345 \ --syncmode full \ --gcmode archive \ --http --http.addr 0.0.0.0 --http.port 8545 \ --http.api eth,net,web3,debug,txpool \ --http.corsdomain "*" \ --ws --ws.api eth,net,web3,debug \ --unlock 0 --allow-insecure-unlock \ --mine --miner.etherbase 0
重点提示:
--gcmode archive和debugAPI 是 Blockscout 正常运行的必要条件,缺一不可。
部署 Blockscout 浏览器
克隆项目
git clone https://github.com/blockscout/blockscout.git cd blockscout/docker-compose
修改配置文件
编辑 docker-compose.yml 中的环境变量(或新建 .env),关键配置如下:
environment: ETHEREUM_JSONRPC_VARIANT: geth ETHEREUM_JSONRPC_HTTP_URL: http://宿主机IP:8545 ETHEREUM_JSONRPC_TRACE_URL: http://宿主机IP:8545 DATABASE_URL: postgresql://postgres:postgres@db:5432/blockscout NETWORK: "My Private Chain" SUBNETWORK: "Test Network" PORT: 4000 CHAIN_ID: 12345
注意:不要写成
http://localhost:8545,因为在 Docker 容器内部,localhost 指向的是容器自身,应使用宿主机实际 IP 或host.docker.internal。
启动服务
docker-compose up -d
首次启动会自动拉取镜像、初始化 PostgreSQL 数据库并开始同步链上数据,耐心等待几分钟即可。
验证部署
浏览器访问:
http://服务器IP:4000
看到页面顶部显示你设置的链名称,并且区块高度在持续增长,说明私链浏览器搭建成功!
功能体验
搭建完成后,你可以:
- 🔍 查询区块详情:查看每个区块的交易列表、Gas 消耗、出块时间
- 💸 追踪交易状态:输入交易哈希,查看交易是否成功、消耗了多少 Gas
- 👛 浏览地址信息:查看任意地址的 ETH 余额、历史交易记录
- 📜 验证智能合约:上传合约源码,在浏览器中直接阅读和交互
- 📊 查看链上统计:交易量、账户数、Gas 价格等图表数据
常见问题排查
| 问题 | 原因及解决方案 |
|---|---|
| 页面无区块数据 | 检查 RPC 地址是否可达,容器内 curl 测试连通性 |
| 同步报错 trace 相关 | Geth 启动时未开启 debug API 或未设置 --gcmode archive |
| 页面打不开 | 检查 4000 端口防火墙规则,云服务器需配置安全组 |
| 数据库连接失败 | 确认 PostgreSQL 容器已正常启动,账号密码与配置一致 |
通过 Blockscout + Docker 的组合,我们可以在半小时内为以太坊私链搭建
The End
发布于:2026-10-08,除非注明,否则均为原创文章,转载请注明出处。
