Hyperledger Explorer 安装部署(pg版)

栏目: 数据库 · PostgreSQL · 发布时间: 7年前

内容简介:IBM区块链系列Hyperledger ,除了最核心的fabric网络外还出了一系列的工具和工程,这里就记录下区块链浏览器的安装部署,现在的版本是使用PostgreSQL数据库来存储数据(之前版本使用mysql)。浏览器使用Psql和nodejs开发,所以对java或golang小伙伴来说,肯定会碰一些钉子。(官方的安装不是很详细)先上地址:

IBM区块链系列Hyperledger ,除了最核心的fabric网络外还出了一系列的 工具 和工程,这里就记录下区块链浏览器的安装部署,现在的版本是使用PostgreSQL数据库来存储数据(之前版本使用mysql)。

浏览器使用Psql和nodejs开发,所以对 java 或golang小伙伴来说,肯定会碰一些钉子。(官方的安装不是很详细)

先上地址:

https://github.com/hyperledger/blockchain-explorer.git
如果发现bug可以贡献修复

1、依赖环境安装

a) nodejs 8.11.x (Note that v9.x is not yet supported)
b) PostgreSQL 9.5 or greater
c) Jq [https://stedolan.github.io/jq/]
d) git
e) gcc-c++

1)安装git

yum install -y git
查看版本:
[root@fabric-test2 server]# git --version
git version 1.8.3.1

2)nodejs安装

a.下载
wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz
b.解压
tar -xvf node-v8.11.4-linux-x64.tar.xz 
c.链接
ln -s /server/node-v8.11.4-linux-x64/bin/node /usr/local/bin/node  
ln -s /server/node-v8.11.4-linux-x64/bin/npm /usr/local/bin/npm
d.测试
[root@fabric-test2 node-v8.11.4-linux-x64]# node -v
v8.11.4
[root@fabric-test2 node-v8.11.4-linux-x64]# npm -v
5.6.0

3)PostgreSQL安装

1.添加RPM
    yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
2.安装PostgreSQL 9.5
    yum install postgresql95-server postgresql95-contrib
3.初始化数据库
    /usr/pgsql-9.5/bin/postgresql95-setup initdb
4.设置开机自启动
    systemctl enable postgresql-9.5.service
5.启动服务
    systemctl start postgresql-9.5.service
PostgreSQL 安装完成后,会建立一下‘postgres’用户,用于执行PostgreSQL,数据库中也会建立一个'postgres'用户,默认密码为自动生成,需要在系统中改一下。
6.修改用户密码
    su - postgres  切换用户,执行后提示符会变为 '-bash-4.2$'
    psql -U postgres 登录数据库,执行后提示符变为 'postgres=#'
    ALTER USER postgres WITH PASSWORD 'postgres';  设置postgres用户密码(!!!这个密码要注意下不能包含@符号)
    \q  退出数据库
7.开启远程访问
    vi /var/lib/pgsql/9.5/data/postgresql.conf
    修改#listen_addresses = 'localhost'  为  listen_addresses='*'
    当然,此处‘*’也可以改为任何你想开放的服务器IP
8.信任远程连接
    vi /var/lib/pgsql/9.5/data/pg_hba.conf
    修改如下内容,信任指定服务器连接
    # IPv4 local connections:
    host    all            all      127.0.0.1/32      md5
    增加
    host    all             all      0.0.0.0/0          md5
9. 重启PostgreSQL数据服务

4)安装jq

jq的安装需要epel源
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist 
安装:
yum install jq -y

5)安装gcc-c++

yum install -y gcc-c++
编译使用

依赖环境准备就绪,接下来是安装了;

2、初始化配置

1)源码下载

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

2)数据库初始化

创建一个用户:

cd blockchain-explorer/app/persistence/postgreSQL
修改执行模式
chmod -R 775 db/
修改pgconfig.json 文件
cd db
vi pgconfig.json 如下:
{
  "pg": {
    "host": "127.0.0.1",
    "port": "5432",
    "database": "fabricexplorer",
    "username": "postgres",
    "passwd": "postgres"
  }
}
其实这里配置后还是需要输入密码,不过这个配置后续有用;
执行脚本:
[root@fabric-test2 db]# ./createdb.sh 
输入数据库密码就好;

3)Fabric 网络搭建

这个之前有教程,不再介绍;

4)Fabric 网络配置

先讲之前的配置备份
cp blockchain-explorer/app/platform/fabric/config.json blockchain-explorer/app/platform/fabric/config.json.bk
配置(以之前fabric分布式部署例子为基础)
vi blockchain-explorer/app/platform/fabric/config.json
配置如下:
{
  "network-config": {
    "org1": {
      "name": "OrgCoreCompanyMSP",
      "mspid": "OrgCoreCompanyMSP",
      "peer1": {
        "requests": "grpcs://10.0.200.114:7051",
        "events": "grpcs://10.0.200.114:7053",
        "server-hostname": "peer0.corecompany.lychee.com",
        "tls_cacerts":
          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/peers/peer0.corecompany.lychee.com/tls/ca.crt"
      },
      "admin": {
        "key":
          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/users/Admin@corecompany.lychee.com/msp/keystore",
        "cert":
          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/users/Admin@corecompany.lychee.com/msp/signcerts"
      }
     }
    },
  "channel": "bscfchannel",
  "orderers": [
    {
      "mspid": "OrdererMSP",
      "server-hostname": "orderer1.lychee.com",
      "requests": "grpcs://10.0.200.111:7050",
      "tls_cacerts":
        "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/ordererOrganizations/lychee.com/orderers/orderer1.lychee.com/tls/ca.crt"
    }
  ],
  "keyValueStore": "/tmp/fabric-client-kvs",
  "configtxgenToolPath": "/opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/",
  "SYNC_START_DATE_FORMAT": "YYYY/MM/DD",
  "syncStartDate": "2018/01/01",
  "eventWaitTime": "30000",
  "license": "Apache-2.0",
  "version": "1.1"
}
这里要注意下:
1、org1 可以随意命名,跟fabric网络无关;
2、可先添加一个节点做测试,等成功后再配置全部;
3、org中的name、mspid等必需根网络配置的一致(fabric网络的configtx.yaml文件);
4、注意ip地址和grpcs/grpc;
5、注意证书文件路径;
6、keyValueStore 这个是client的存放位置,可暂时随意配置个位置。

3、打包部署

这个熟悉前段开发的会比较顺利,但是做java后端和golang的小伙伴可能需要折腾下;(其实就是一个工程打包,下载依赖,部署的过程)

cd blockchain-explorer
npm install
cd client/
npm install
npm run build

如果遇到 root没权限,则需要使用非安全模式,顺便输出下详细日志如下:
cd blockchain-explorer
npm install --unsafe-perm -d
cd client/
npm install --unsafe-perm -d
npm run build --unsafe-perm -d
!!!注意,如果中间出错,重新安装时先要删除node_modules文件夹,client里的也需要;

4、运行

cd blockchain-explorer
./start.sh
日志文件:
logs/app app日志
logs/console 运行日志
logs/db db日志
这几个文件里面的日志要结合看才能更好的解决问题;
console成功日志:
Property config.syncStartDate set to  2018/01/01
Please open web browser to access :http://127.0.0.1:8080/
pid is 9641
Successfully received the block event[object Object]

5、问题总结

1. make: g++: Command not found
yum install -y gcc-c++
2. getBlockActivity undefined 找不到
这个是npm install问题,删除node_modules,重新安装
3.TypeError: Cannot read property 'forEach' of undefined
这个是fabric网络未配置好,重新检查下app/platform/fabric/config.json 网络配置
4.server.on undefined 找不到
这个是npm install问题,删除node_modules,重新安装
5. TypeError: Cannot read property 'queryChannels' of undefined
这个是fabric网络未配置好,重新检查下app/platform/fabric/config.json 网络配置

6、效果如下:

Hyperledger Explorer 安装部署(pg版)

image.png

Hyperledger Explorer 安装部署(pg版)

image.png

Hyperledger Explorer 安装部署(pg版)

image.png

Hyperledger Explorer 安装部署(pg版)

image.png


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Design Programs, 2nd Edition

How to Design Programs, 2nd Edition

Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / MIT Press / 2018-5-4 / USD 57.00

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This ......一起来看看 《How to Design Programs, 2nd Edition》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具