基于Fabric的区块链浏览器顷目实战

Fabric浏览器可以用来查看Fabric系统的内部信息、比如区块数、区块详细信息、交易数目、交易详细信息。通过区块链浏览器项目,读者可以详细了解系统内置的Chaincode的使用,以及Fabric的内部结构。项目地址:https://github.com/hyperledger/blockchain-explorer

一、项目介绍

Fabric的Peer模块的提供了一些可以查询Fabric的系统信息的子命令,比如可以通过命令peer channel list查看当前Peer节点加入的通道。这些命令虽然可以获取Fabric的系统信息,但是操作不是非常方便,而且查询的结果显示不是那么友好。更重要的是这些命令必须在内网的主机上才能执行,如果用户在网络之外就无法访问到这些信息。在Fabric中提供了获取这些信息的Grpc接口,在Hyperledger项目组提供的SDK中,已经对这些接口进行了封装。因此基于这些SDK进行简单封装之后,将这些信息以web网站的形式发布出去,这粧任何地方都可以方便地获取Fabric的内部信息了。这就是Fabric浏览器的主要功能。

Fabric浏览器项目的目标是向读者演示如何获取Fabric的系统信息和对Fabric进行操作。为了提高开发效率,本例采用Nodejs开发。在本例中我们采用了Nodejs的express框架作为web服务的引擎。

二、开发过程

在本实例运行前请保证Peer节点和Orderer节点处于运行状态。然后按照以下步骤完成本实例的开发工作。

1、项目准备

在本例中将使用Nodejs中的express框架作为Web框架,在项目开始之前需要通过npm工具安装express框架的相关包。安装前请先进入项目的目录,然后执行以下安装命令:

blob.png

2、项目开发

我们首先将Fabric相关的操作封装成一个类,方便后面调用。我们将这些接口代码保存在名为fabricservice.js的源代码文件中,具体的代码内容如下所示:

blob.png

blob.png

blob.png

blob.png

将web服务保存在名为fabricexplorer.js文件,代码内容如下所示:

blob.png

blob.png

现在可以启动这个简单的浏览器,启动浏览器的命令如下所示:

blob.png

启动成功之后可以在浏览器中输入以下网址,访问相关的内容。

blob.png

我们在上面提供了一个简单的例子,web页面的样式和区块链关系不大,本书就不做详细讨论了。Fabric的官方浏览器Blockchain-explorer是Hyperledger官方的提供的浏览器,其界面非常精美,对界面比较感兴趣的读者可以参考一下。Blockchain explorer项目的地址如下所示:

blob.png

868区块链学习网为您整理《基于Fabric的区块链浏览器顷目实战》仅供参考。