2. 区块链浏览器
2.1. 概述
区块链浏览器提供了实时浏览、查询区块链信息和统计信息的功能。主要由前端(Web
展示)、后端及数据库三部分组成。数据库采用的是MySQL
,后端采用go语言开发,前端使用的是react
框架。
2.2. 安装指南
2.2.1. 环境依赖
docker
docker
版本为20.10.7
或以上
# 以centos7为例,其他安装方式见下方官网
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker-compose
版本为1.29.2
或以上
# 以centos7为例,其他安装方式见下方官网
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
下载地址:
若已安装,请通过命令查看版本:
$ docker -v
$ docker-compose -v
2.2.2. 浏览器部署
2.2.2.1. 前置环境
浏览器部署需要依赖一个ChainMaker
运行环境。具体的ChainMaker
环境安装部署请参考对应的文档通过命令行体验链。
2.2.2.2. 代码下载
下载地址: https://git.chainmaker.org.cn/chainmaker/chainmaker-explorer
代码版本:v2.3.0
下载代码:
$ git clone https://git.chainmaker.org.cn/chainmaker/chainmaker-explorer.git
2.2.2.3. 启动运行
2.2.2.3.1. 启动docker
$ make docker-compose-start
# 或者
$ cd docker && docker-compose up -d
2.2.2.3.2. 查看日志
$ docker logs -f --tail 200 docker_cm_explorer_server_1
2.2.2.3.3. 访问地址
http://localhost:9996
2.2.2.4. 配置调整
浏览器配置文件:configs/config.yml
,它的配置内容包括四部分,以下是详细说明:
web:
address: 0.0.0.0
# 监听端口
port: 9997
# 是否跨域
cross_domain: true
node:
# 链和节点更新时间
update_time 30
# 节点断开连接时间和新增链时间
sync_time: 30
chain:
# 是否展示多条链的列表控件
show_config: true
# mysql配置信息
db:
host: cm_explorer_db
port: 3306
database: chainmaker_explorer_dev
user: chainmaker
passwd: Baec&chainmaker
Docker配置文件:docker-composer.yml
cm_explorer_server:
image: chainmakerofficial/explorer-backend:v2.3.0
depends_on:
- cm_explorer_db
ports:
- “9997:9997”
# 使用docker-compose 启动时,如果环境变量有show_config,会优先使用环境变量里的config
# show_config = 0 启动,show_config = 1 关闭
# environment:
# show_config: 0
restart: always
如果您的浏览器是本地测试使用,则可设置
show_config = 0
,此时任意访问用户都可在界面上管理订阅链,包括新增订阅链,取消订阅等。如果您的浏览器是部署给C端用户使用,则可设置
show_config = 1
,此时界面上将隐藏管理订阅链的入口。
2.2.3. 浏览器版本升级
停止旧版浏览器:在旧版本项目
chainmaker-explorer/docker
目录下执行:docker-compose down -v
,注意有个后缀-v,删除所有数据;按照上方教程启动新版浏览器;
重新订阅所需要的链。
2.3. 使用手册
2.3.1. 初始化
初始化时,需要先订阅一条链,请确保所填写的信息和要订阅的链是一致的,并且用来订阅的节点的网络连接是通畅的。
如需订阅多条链,后续可在区块链管理处继续添加订阅。
参数说明
区块链ID:使用命令行创建的链默认链ID为chain1
节点ip和端口:ip为部署链的机器ip,port使用对应节点的rpc地址,一般默认为12301
组织ID:可以从每个节点对应的配置文件chainmaker.yml(
chainamaker-go/build/config/chainmaker.yml
)获取TLS:请根据您的链的实际情况,选择是否开启TLS。目前通过官方开源文档教程上起的链,默认TLS(路径:
chainamaker-go/build/config/chainmaker.yml对应的参数net.tls.enabled
)是开启的,默认的TLSHostname为chainmaker.org,如您自定义修改过,请按照实际情况填写。组织ca证书:根据选择的组织id,从对应的节点中拿到对应组织下的ca.crt(eg:组织id为wx-org1.chainmaker.org的证书路径
chainamaker-go/build/config/node1/wx-org1.chainmaker.org/ca.crt
)用户证书、私钥:需要使用sign证书和私钥,一般默认使用admin.sign.crt和admin.sign.key(路径:
chainamaker-go/build/config/node1/user/
)
2.3.2. 首页
通过右上角可以切换跳转到已经订阅的其他链的浏览器页面,也可继续添加订阅链。
支持通过区块哈希/区块高度/交易id/合约名称直接搜索。
点击左下角统计当前链的相关数据,如区块高度,交易数等,点击将跳转到对应的区块列表页、交易列表页、合约列表页、组织列表页、节点列表页、账户列表页等。
首页将展示当前最新的区块信息,包含每个区块的区块高度、包含交易数、出块节点。
首页将展示当前最新的区块信息,包含每笔交易的交易id、交易发起者、所调用的合约以及交易发起时间。
首页将展示当前最新的区块信息,包含每个合约的合约名称、合约创建者、合约版本、合约部署时间。
2.3.3. 订阅区块链
支持同时订阅多条链,再订阅链时,请确保所填写的信息和要订阅的链是一致的,并且用来订阅的节点的网络连接是通畅的。
支持订阅Cert,和Public两种账户模式的链。
不允许同时订阅同一条链,也不允许同时订阅ChainID相同的链。
如果订阅后,所订阅的节点运行出现异常,如停机了,或者被踢出网络了,则浏览器也将无法获取信息,您可以通过重新订阅按钮,修改到正常运行的节点,恢复订阅。
支持删除订阅,删除后,将不会再获取该链的信息,且原来的已经订阅的数据都会被删除,如需重新获取,需要再次订阅。
2.3.4. 区块信息
此处展示区块列表,点击查看,可以查看该区块的详情。
支持查看某一区块的具体信息,包括区块哈希,读写集哈希,DAG信息,以及本区块内的交易信息。
2.3.5. 交易信息
此处展示交易列表,支持通过实际时间维度筛选交易,点击查看,可以查看该交易的详情。
支持查看某一条交易详情,包括交易的所属区块信息,交易发起人信息,交易所调用的合约执行情况。
2.3.6. 合约信息
此处展示合约列表,点击查看,可以查看该合约的详情。
支持查看合约信息,包括合约的地址,合约的创建者信息,以及合约调用的历史交易记录。
支持查看合约调用过程中,产生的事件信息。
2.3.7. 组织信息
此处展示参与该区块链的组织信息。
因public模式的链没有组织概念,故而该模式下不展示组织信息模块。
2.3.8. 节点信息
此处展示参与该区块链的节点信息。
2.3.9. 链账户信息
此处展示该区块链目前已经发送过或者接收过交易的用户信息。
无论是证书账号还是公钥账户都有其对应的链账户地址。