Hyperledger Fabric之Explorer区块链浏览器

时间:2024-04-13 19:49:00

前言


我们之前既然安装了区块链的环境并且可以自己进行开发chaincode,但是我们并不能对整个区块链网络有个直观的了解,Hyperledger Explorer正是一款简单,功能强大,易于使用且易于维护的开源浏览器,可用于查看底层区块链网络上的活动。让我们来使用它吧。先看一下它的目录结构,让我们对它有所了解:

├── app   根目录
  ├── db   Postgres脚本和帮助类
  ├── listener   Websocket侦听器
  ├── metrics   权值 (网路)
  ├── mock_server   用于开发的模拟服务器
  ├── service   服务
  ├── socket   将实时数据推到前端
  ├── test   端口检测
  ├── timer   定时发布信息
  └── utils   各种实用程序脚本
├── client 网页用户界面

基础环境安装


以下是安装和运行fabric explorer所需的软件依赖关系:

克隆库文件


使用下面命令来获取最新的版本文件:

git clone https://github.com/hyperledger/blockchain-explorer.git
cd blockchain-explorer

postgreSQL数据库设置


连接到postgreSql:

sudo -u postgres psql

运行创建数据库脚本:

\i app/db/explorerpg.sql
\i app/db/updatepg.sql

具体了解可以查看相应的脚本文件。

查看数据库信息(非必须):

\l 查看创建fabricexplorer数据库
\d 查看创建的表格

其他操作可以查看postgreSQL的操作命令帮助文档

区块链网络配置文件设置


首先进入到blockchain-explorer目录下,然后对config.json文件

  • 修改config.json以更新network-config。

    • 将”fabric-path”设置成我们自己构建的区块链网络的路径,
    • 例如:“/home/user1/workspace/fabric-samples”,其中包含以下键:“tls_cacerts”,“key”,“cert”。我们需要相应的修改成我们自己配置的网络的路径。具体参考下边的“tls_cacerts”的配置
    • 关键字“tls_cacerts”的最终路径为:“/home/user1/workspace/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ ca.crt”。
  • 修改其中的channel

    • pg主机,用户名,密码的详细信息。

    “ channel ”: “ mychannel ”,
    “ pg ”:{
    “ host ”: “ 127.0.0.1 ”,
    “ port ”: “ 5432 ”,
    “ database ”: “ fabricexplorer ”,
    “ username ”: “ hppoc ”,
    “ passwd ”: “password“
    }
    如果你是按照上面的步骤到这里的话,这个配置直接copy就可以啦,无需修改。

如果你正在连接到非TLS fabric 节点,请修改对等URL中的协议(grpcs->grpc)和端口(9051-> 9050),然后删除tls_cacerts。根据这个键,应用程序决定是去TLS还是非TLS路线。由于1.1版本是通过TLS连接的,所以这里我们无需修改。

构建Hyperledger Fabric Explorer

启动另一个终端:

cd blockchain-explorer/app/test
npm install
npm run test
cd blockchain-explorer
npm install
cd client/
npm install
npm test -- -u --coverage
npm run build

运行Hyperledger Fabric Explorer

开启新的终端:

cd blockchain-explorer/
./start.sh (它将拥有后端)。
tail -f log.log (查看日志)
在浏览器上启动URL http:// localhost:8080

如果一切没有错误的话你应该可以看到类似的界面:

Hyperledger Fabric之Explorer区块链浏览器

结束语

由于其中有安全机制的问题笔者不懂其中的原理,所以笔者在非本地的电脑中打开此IP,其中的数据并不能自己实时的更新,所以只能在部署了节点的服务器上打开此页面查看信息。如果以后笔者搞清楚状况了也会及时的更新此博文。