hyperledger部署java_Hyperledger Explorer 安装部署(pg版)

本文档详述了如何在Linux环境下部署Hyperledger Explorer,该版本使用PostgreSQL作为数据库。步骤包括:安装git, nodejs, PostgreSQL, jq, 并配置数据库和Fabric网络。此外,还提供了解决安装过程中常见错误的方法。" 123668759,12945257,Python机器学习评估指标详解,"['机器学习', 'Python开发', '数据评估', '面试准备']
摘要由CSDN通过智能技术生成

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、效果如下:

c5cb256629dd2f677c9bb0c0e1ada6d3.png

image.png

8577253a7067057a6f2edd1b99825985.png

image.png

1e464d7983228e86acd8808f5a60e21a.png

image.png

bac906eb4a01d61b7d3506fcba412da2.png

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值