Hyperledger Fabric浏览器搭建
当我们搭建并启动好Hyperledger Fabric区块链网络之后是否会想要一个像比特币、以太坊似的浏览器可以方便且直观的查看到区块和交易信息。其实IBM的Hyperledger Fabric项目也提供了类似的区块链浏览器。在github上以blockchain-explorer子项目的形式存在,其中README.md叙述了具体的搭建步骤,但我相信一定有朋友会在搭建的过程中遇到些问题,最近花了两天时间分别在自己本地的Windows、测试机Ubuntu、远程机CentOS环境下各自搭建了一套Fabric的浏览器,在此将我成功操作的具体步骤以及在此过程中遇到的一些问题的解决方法分享出来,希望能够帮助到需要的朋友。
1、前提条件
a) 首先确保有一个可正常运行的Fabric区块链网络环境并已启动
b) 安装PostgreSQL,官方建议9.5以上,我用的9.6。如果没安装,可以参考我的另一篇博客《PostgreSQL 9.6在Ubuntu 16.04和CentOS 7.5下的安装配置》
c) 安装NodeJS,官方建议6.9.x,我用的6.9.2。如果没安装,可以参考我的另一篇博客《NodeJs 6.9.2在Ubuntu 16.04、CentOS 7.5、Windows10下的安装配置》
2、从github上克隆代码并切换到blockchain-explorer目录
git clone https://github.com/hyperledger/blockchain-explorer.git cd blockchain-explorer
3、通过psql客户端登录postgresql并导入更新数据库表结构
sudo -u postgres psql # 连接postgresql数据库 # 运行创建数据库和相关表脚本 \i app/db/explorerpg.sql \i app/db/updatepg.sql \l # 查看当前的数据库列表 \c fabricexplorer # 切换到fabricexplorer数据库 \d # 查看当前数据库的所有表 \q # 退出登录数据库
4、顺序运行如下命令
cd blockchain-explorer npm install cd client/ npm install npm test -- -u --coverage npm run build
5、编辑config.json配置文件
a) 根据实际org的个数,增加或者修改org
b) 修改具体每个org里面的name,mspid值
c) 根据实际每个org里面包含的peer个数增加或者修改peer
d) 修改具体每个peer里面的requests,events,server-hostname,tls_cacerts值
e) 修改admin里面的key和cert值
f) 修改pg里面的host,username,password值
6、启动
切换到blockchain-explorer目录,运行start.sh命令,在另一个终端中通过tail -f log.log来查看日志。
7、访问
打开浏览器,在地址栏中输入http://localhost:8080访问区块链浏览器
说明:
如果有幸能够看到这里,将是一件幸运的事儿。因为官方的原始代码跑起来以后页面样式有点串了导致非常难看,所以我用Chrome浏览器调试了半个下午,终于将页面调整到差不多能看~下面将介绍改哪些地方。
vi blockchain-explorer/client/src/static/css/main.css
1)、注释掉第33行
div.menuItems>nav>ul {
/* margin-left: 160px!important; */
}
2)、修改第36行的像素值
padding-left: 85px;
3)、注释掉第147行
.container {
/* padding-left: 280px; */
}
4)、注释掉第173行
.dashboard{
/* margin-left: 300px; */
}
在对main.css做完修改以后记得去blockchain-explorer/client目录下重新执行npm run build命令。
netstat -anp | grep 8080
ps -ef | grep node
kill 端口
重新执行start.sh命令,打开浏览器访问http://localhost:8080就会看到如下界面:
上一篇: Pimple运行流程浅析(PHP容器)