1. Blockscout 简介

Blockscout 允许用户搜索交易、查看账户和余额、验证和与智能合约互动,并查看和与以太坊网络上的应用程序进行交互,包括许多分叉、侧链、L2 和测试网。

Blockscout 是一个开源的替代方案,取代了像 Etherscan、Etherchain 等集中式的闭源区块浏览器。随着以太坊侧链和 L2 在私有和公共环境中不断增加,透明的开源工具变得至关重要,以分析和验证所有交易。

Blockscout 是一个开源的区块链浏览器,主要用于查看和分析以太坊及其兼容链(如以太坊经典、POA网络等)的区块链数据。它提供了一个用户友好的界面,使用户能够轻松访问区块链上的各种信息。

1.1 主要功能

  1. 区块和交易查看:用户可以查看最新的区块、每个区块的详细信息,以及其中的交易记录。
  2. 地址和代币信息:允许用户查询特定地址的余额、交易历史以及持有的代币信息。
  3. 智能合约互动:支持与智能合约进行交互,包括查看合约的源代码和状态。
  4. 代币和市场信息:显示各种代币的市场数据,包括价格、交易量、流通量等。
  5. 可定制性:由于是开源的,开发者可以根据自己的需求定制和扩展功能。
  6. 多链支持:除了以太坊,Blockscout 还支持其他兼容的区块链,这使得它在多链生态系统中具有广泛的适用性。
  7. 开发者工具:提供API接口,方便开发者在应用中集成区块链数据。

1.2 使用场景

  • 投资者:可以追踪自己的资产和交易活动。
  • 开发者:用于监控和调试智能合约。
  • 研究人员:分析区块链数据和趋势。
  • 普通用户:了解区块链的基本信息和交易情况。

2. Blockscout 部署

2.1 准备工作

  • Docker v20.10.0+
  • Docker Compose 2.x.x+
  • 运行中的Ethereum节点(如Geth或Parity)
  • blockscout

2.2 配置

在服务启动前,我们需要修改下配置文件,主要是为了能连接到我们的PoA节点,也可以指定我们的代币名称和符号。

首先,我们需要修改docker-compose/env目录下的common-blockscout.env文件,配置PoA的RPC接口和network_id:

ETHEREUM_JSONRPC_VARIANT=geth
ETHEREUM_JSONRPC_HTTP_URL=http://192.168.1.111:8545/
ETHEREUM_JSONRPC_TRACE_URL=http://192.168.1.111:8545/
NETWORK=37777

然后,我们还需要修改common-frontend.env文件,配置浏览器访问路径,还可以指定代币名称和符号:

# 浏览器访问路径
NEXT_PUBLIC_API_HOST=192.168.1.111
NEXT_PUBLIC_API_PROTOCOL=http
NEXT_PUBLIC_STATS_API_HOST=http://localhost:8080
NEXT_PUBLIC_NETWORK_NAME=Awesome chain
NEXT_PUBLIC_NETWORK_SHORT_NAME=Awesome chain
NEXT_PUBLIC_NETWORK_ID=5
# 代币名称
NEXT_PUBLIC_NETWORK_CURRENCY_NAME=Ether
# 代币符号
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL=ETH
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS=18
NEXT_PUBLIC_API_BASE_PATH=/
NEXT_PUBLIC_APP_HOST=192.168.1.111
NEXT_PUBLIC_APP_PROTOCOL=http
NEXT_PUBLIC_HOMEPAGE_CHARTS=['daily_txs']
NEXT_PUBLIC_VISUALIZE_API_HOST=http://localhost:8081
NEXT_PUBLIC_IS_TESTNET=true
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL=ws
NEXT_PUBLIC_API_SPEC_URL=https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml

2.3 启动服务

完成上面的配置,我们就可以启动服务了:

$ cd ./docker-compose
# PoA 网络使用的是 geth,使用geth.yml 
$ docker compose -f geth.yml up -d

服务启动后,就可以通过http://192.168.1.111来查看PoA网络的信息了。


孟斯特

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意
腾讯云开发者社区:孟斯特