fabric explorer区块链浏览器搭建教程 您所在的位置:网站首页 swarm区块链浏览器 fabric explorer区块链浏览器搭建教程

fabric explorer区块链浏览器搭建教程

2023-09-06 19:42| 来源: 网络整理| 查看: 265

参考官方文档:https://github.com/hyperledger/blockchain-explorer

随着explorer项目的不断更新,其master分支一直在改变,我们根据自己部署的fabric1.0 或fabric1.1网络选择合适的分支版本,不同版本分支的explorer项目差别挺大,有些项目中自带了fabric网络,有些项目需要将路径指向本地已经启动的fabric网络。例如reactbranch分支,项目中是自带了fabric1.0网络,不需要前期自己配置。本文主要用的是最新的master分支作为示例。

(一)前提条件:

nodejs 8.11.x (Note that v9.x is not yet supported)PostgreSQL 9.5 or greaterdocker 17.06.2-cedocker-compose 1.14.0

1. nodejs 8.11.3 安装 (资源链接:https://pan.baidu.com/s/1YLpNuIKbCgjQ2BDNkNY48g)

如果在虚拟机上的应该没有问题,如果在阿里云上的最好先创建一个普通用户,赋予sudo权限,因为在后面 npm install步骤中root管理员模型执行会报错。我这里创建了账户名为 lh 的普通用户,将下载的node-v8.11.3-linux-x64.tar 放到/home/lh 目录下,执行下列命令

node-v8.11.3-linux-x64.tar.gz tar -xvf node-v8.11.3-linux-x64.tar.gz //解压 ln -s /home/lh/node-v8.11.3-linux-x64/bin/node /usr/local/bin/node //建立软链 ln -s /home/lh/node-v8.11.3-linux-x64/bin/npm /usr/local/bin/npm //建立软链 node -v npm -v //查看是否安装成功

2.PostgreSQL 安装

直接执行下列命令即可

sudo apt-get install postgresql

下载下来的直接就是 9.5.x 版本符合要求。

3. docker 17.06.2-ce 和 docker-compose 1.14.0

似乎docker向上兼容,docker18的版本也是可以的,但我为了保险,还是下了17.06.2的版本(下载特定版本方法直接看docker官网,需要fq),docker-compose1.14下载的特定版本比较方便,执行下列命令即可

curl -L https://get.daocloud.io/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

(2)下载项目源码

 

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

要注意 master 可能会变化。

(3)数据库初始化

sudo -u postgres psql //连接PosgreSQL database \i app/persistence/postgreSQL/db/explorerpg.sql \i app/persistence/postgreSQL/db/updatepg.sql //执行数据库脚本

(4)运行启动你的一个Fabric 1.1网络

1. 进入go的path目录

cd $GOPATH

2.新建文件夹并进入到路径

mkdir -p src/github.com/hyperledger /opt/gopath/src/github.com/hyperledger

3.下载fabric 和 fabric-samples

git clone https://github.com/hyperledger/fabric.git git clone https://github.com/hyperledger/fabric-samples.git

4.切换版本至1.1

cd fabric/ git checkout release-1.1 //切换版本 git branch -a //查看当前版本 cd fabric-samples/ git checkout release-1.1 git branch -a

5. 下载镜像和要执行的二进制文件

如果能够访问外网,可以执行下列命令,下载所需的镜像和二进制文件

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0

但大多数情况我们无法访问外面,可以进入到fabric目录下的scripts执行bootstrap.sh 

cd fabric/scripts/ ./bootstrap.sh

进入到fabric-samples文件下载1.1.0版本所需的二进制文件

wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz

解压下载的文件,会多出bin 和config两个文件夹

tar -zxvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz

把bin配置到环境

cd bin/ pwd vim /etc/profile //加入环境变量 source /etc/profile //使环境变量生效

在/etc/profile中加入

6.运行fabric1,1网络

cd fabric-samples/first-network/ ./byfn.sh -m generate //生成配置文件 ./byfn.sh -m up //启动网络

如果在阿里云中运行,一定要修改  /etc/resolv.conf 配置,将 options timeout:2 attempts:3 rotate single-request-reopen   这行内容注释。

(5)修改配置文件

cd 到  blockchain-explorer/app/platform/fabric  这个路径 修改config.json文件。

修改一下配置文件中 "tls_cacerts", "key", "cert" 的路径,这个路径是你启动fabric 1.1 网络的绝对路径。

再在 “channel”: "mychannel"下添加数据库的信息,由于我们直接通过PostgreSQL 命令生成的数据库数据表,用户名和密码都是自带默认的,不需要我们修改。详情可见 explorerpg.sql 

"channel": "mychannel", "pg": { "host": "127.0.0.1", "port": "5432", "database": "fabricexplorer", "username": "hppoc", "passwd": "password" }

至于github项目中README 中描述的下面这句话,还是没有搞懂,所以也没有管。

(6)安装explorer所需的node依赖

 

cd blockchain-explorernpm installcd blockchain-explorer/app/testnpm installnpm run testcd client/npm installnpm test -- -u --coveragenpm run build

注意的几点:

1.这里运行 npm intsall 如果出现warn 警告,可以忽略不影响。

2.经过我的测试,阿里云下,root账户执行npm install 会报权限错误,但新建一个普通账户,并赋予 sudo 权限后就不会。

3.sudo npm install 运行也会报错。

4.如果出现单个文件夹 权限不足,直接  执行  sudo chmod +777 ./XXX   来给与最高权限。

5.如果在虚拟机上运行的 保证分配的配置稍微高一点,不然 最后一步 npm run build 会卡死。

(7)运行Hyperlegder Explorer

执行下列命令

cd blockchain-explorer/ ./start.sh

调用 log 目录下的目录,如果显示  Please open Internet explorer to access:http://localhost:8080/   那就成功了。

不然的话根据报错再调试一下,可能会遇到证书文件的权限不够,按照上面的方面给予权限就行。

最后运行界面:

 

 

如果在阿里云的部署运行过程中有问题,可以邮箱联系我,[email protected]    ,我也有现成的阿里云镜像可以商量着分享。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有