该篇文档的前提是已经存在部署好的fabric网络, 并且在peer节点有运行的自定义链码
Explorer 区块链浏览器部署
区块链网络部署(前提)
在部署 Explorer项目前提前要有存在的区块链网络,这里说一下区块链网络部署时应该注意点的点
在区块链网络中启动操作服务器
如果要使用区块链监控,在启动网络的时候应该加上如下环境变量
1
2
3
4- ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 # operation RESTful API
- ORDERER_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API
- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9443 # operation RESTful API
- CORE_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API务必开启gossip
开启gossip, 使区块链网络开启发现服务
1
2- CORE_PEER_GOSSIP_BOOTSTRAP=X.X.X.X:XXXX
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=X.X.X.X:XXXX
项目拉取
1 | git clone https://github.com/hyperledger/blockchain-explorer.git |
安装数据库
配置prostgreSQL数据库
第一种配置方法
cd blockchain-explorer/app 修改 explorerconfig.json
1 | "postgreSQL": { |
- 第二种配置方法
1 | export DATABASE_HOST=127.0.0.1 |
给执行sql脚本的目录带执行权限
1 | chomd -R 775 /blockchain-explorer/app/persistence/fabric/postgreSQL/db |
执行数据库脚本
1 | cd blockchain-explorer/app/persistence/fabric/postgreSQL/db |
配置身份认证
配置jwt
cd blockchain-explorer/app 修改explorerconfig.json 文件
1 | "jwt": { |
配置explorer 链接到区块链网络
配置 explorer 链接区块链网络
配置网络文件位置: /blockchain-explorer/app/platform/fabric/config.json
配置链接文件位置: /blockchain-explorer/app/platform/fabric/connection-profile
配置 prometheus 链接到操作服务器
1. 配置文件位置: app/platform/fabric/artifacts/operations/balance-transfer/prometheus.yml
安装并配置 grafana
- 配置文件位置: app/platform/fabric/artifacts/operations/balance-transfer/balance-transfer-grafana-dashboard.json
- 配置文件位置: app/platform/fabric/artifacts/operations/grafana_conf/provisioning/dashboards/dashboard.yaml
- 配置文件位置: app/platform/fabric/artifacts/operations/grafana_conf/provisioning/datasources/datasource.yaml
Build Explorer 项目
1 | ./main.sh clean |
运行Explorer项目
1 | cd blockchain-explorer/app 修改explorerconfig.json 同步频率 主机类型 区块同步时间的详细配置 |
Explorer Docker 部署
前提:
- bash
- Docker
- Docker Compose
仓库地址:
- Hyperledger Explorer docker repository https://hub.docker.com/r/hyperledger/explorer/
- Hyperledger Explorer PostgreSQL docker repository https://hub.docker.com/r/hyperledger/explorer-db
区块链网络部署(前提)
在部署 Explorer项目前提前要有存在的区块链网络,这里说一下区块链网络部署时应该注意点的点
在区块链网络中启动操作服务器
如果要使用区块链监控,在启动网络的时候应该加上如下环境变量
1
2
3
4- ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 # operation RESTful API
- ORDERER_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API
- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9443 # operation RESTful API
- CORE_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API务必开启gossip
开启gossip, 使区块链网络开启发现服务
1
2- CORE_PEER_GOSSIP_BOOTSTRAP=X.X.X.X:XXXX
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=X.X.X.X:XXXX
Explorer项目拉取
1 | git clone https://github.com/hyperledger/blockchain-explorer.git |
配置Explorer
配置explorer和fabric网络的连接
参考配置文件位置:
- examples/net1/config.json 连接的主配置文件
- examples/net1/connection-profile 和 fabric 的连接配置
- examples/net1/crypto 网络传输加密文件目录(如果有的话)
配置 prometheus
参考配置文件位置:
app/platform/fabric/artifacts/operations/balance-transfer/prometheus.yml
配置 grafana
参考配置文件位置:
app/platform/fabric/artifacts/operations/balance-transfer/balance-transfer-grafana-dashboard.json 一个dashboard的详细配置
app/platform/fabric/artifacts/operations/grafana_conf/provisioning/dashboards/dashboard.yaml dashboard的存储目录等基本配置
app/platform/fabric/artifacts/operations/grafana_conf/provisioning/datasources/datasource.yaml 数据源的配置
配置docker-compose 文件
配置网络
配置网络,可以指定已经存在的网络,如果和区块链网络在同一台机器上可以使用区块链网络
如果和区块链网络是分开部署的,可以指定一个其他的任意网络
1 | networks: |
配置数据库
1 | environment: # 配置数据库名称,用户密码等 |
配置 explorer
1 | environment: |
配置 prometheus
1 | volumes: |
配置 grafana
1 | volumes: # 配置引用配置文件的位置,以及数据持久化的文职 |
docker-compose.yaml 文件的示例
1 | version: '2.1' |
启动网络
1 | docker-compose up -d |