Hyperledger Explorer 安装部署(pg版)
栏目: 数据库 · PostgreSQL · 发布时间: 6年前
内容简介: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、效果如下:
image.png
image.png
image.png
image.png
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。