Hyperledger Fabric区块链浏览器配置文档

 

参考官方文档:

https://github.com/hyperledger/blockchain-explorer

本文主要用的是fabric first-network为示例区块链网络。本配置文档基于Debian8.x Jessie)配置,Ubuntu系统基本一致,只在Postgre-SQL安装时要写对应的版本号有所不同,Centos系统可以参考,在安装各项时使用的安装语句不同。下面开始安装说明。

(一)前提条件:

nodejs 8.11.x (Note that v9.x is not yet supported)

PostgreSQL 9.5 or greater

docker 17.06.2-ce

docker-compose 1.14.0

1. nodejs 8.11.3 安装

由于直接安装node时可能会出现版本问题,这里使用nvm严格控制node版本的安装

1. 1开始安装(Linux)

可以通过curl或者wget进行安装,命令如下

curl方式

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

wget方式

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

如果你系统没有安装git的话,请先安装git,安装命令请参考下面
ubuntu系统

sudo apt-get install git

centos

sudo yum install git

1.2 可能遇到的问题

安装完后,如果是用xshell连远程主机的话,先重连一次,不然会发现提示找不到nvm命令

可能出现依旧提示找不到nvm命令,那么请使用source命令,如下

source ~/.bashrc

如果是zsh的话,请用

source ~/.zshrc

如果还是提示找不到nvm命令,那么参照上面安装nvm的命令,重新安装。

1.3 开始配置node

常用命令一览

终端输入nvm,会看到帮助信息

nvm

 

(1)nvm ls-remote

列出全部可以安装的版本号

nvm ls-remote

 

可以看出全部可用版本号,和当前安装的版本

(2)nvm install 版本号

安装指定版本

nvm install v8.11.3 

 #命令后加版本号就可以进行安装,字母v可以不写,安装后默认使用该版

(3)nvm use 版本号

切换指定版本,切换效果是全局的

nvm use v8.11.3

8.11.3

(4) nvm current

查看当前使用的版本

nvm current

 

2. PostgreSQL 安装

直接执行下列命令

sudo apt-get install postgresql

如果下载下来的低于9.5.x 版本,请执行下面的命令:

  • 删除相关的安

sudo apt-get --purge remove postgresql\*

  • 删除配置及文相关

sudo rm -r /etc/postgresql/

sudo rm -r /etc/postgresql-common/

sudo rm -r /var/lib/postgresql/

  • 删除用户和所在组

sudo userdel -r postgres

sudo groupdel postgres

之后重新安装指定的版本的PostgreSQL

sudoadd-apt-repository"deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-getupdate

sudo apt-getinstall postgresql-9.5

其中前两句要根据https://www.postgresql.org/download/linux/debian/官网中输入自己系统的版本号后生成对应的配置文件路径后进行修改。安装以后psql会默认一个用户“postgres”,密码是随机的,登录到postgresql里:sudo -u postgres psql ,你会看到“postgres=#” 这个就是代表已经进入pg数据库了,可以输入各种命令了,修改psql的密码:ALTER USER postgres WITH PASSWORD 'xxxx';  (其中'xxxx'为用户'postgres'的密码,目前postgres的密码修改完毕)

 

3. docker 17.06.2-ce  docker-compose 1.14.0

1docker向上兼容,docker18的版本也是可以的(下载特定版本方法直接看docker官网),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/persistance/postgreSQL/db/explorerpg.sql



\i app/persistance/postgreSQL/db/updatepg.sql    


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

1进入gopath目录

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

vi config.json

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

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

Hyperledger Fabric区块链浏览器配置文档_第1张图片

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

              

"channel": "mychannel",


        

 "pg": {


        

      "host": "127.0.0.1",


        

      "port": "5432",


        

      "database": "fabricexplorer",


        

      "username": "hppoc",


        

      "passwd": "password"


        

  }


6)安装explorer所需的node依赖

cd blockchain-explorer

npm install

cd blockchain-explorer/app/test

npm install

npm run test

cd client/

npm install

npm test -- -u --coverage

npm 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 accesshttp://localhost:8080/ 那就成功了。

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

最后运行界面:

Hyperledger Fabric区块链浏览器配置文档_第2张图片

 

你可能感兴趣的:(Hyperledger Fabric区块链浏览器配置文档)