环境:Ubuntu18.04.4
参考教程:
https://segmentfault.com/a/1190000021387375
https://blog.csdn.net/sun13465816527/article/details/80453518
https://www.jianshu.com/p/d19e9cad46e3
本文为自己的一个实验记录。仅供参考。借鉴了很多人的博客和教程,基本都标注出来了。在此表示诚挚的感谢。
目录
前言
所需依赖及安装
1. 安装 nodejs 8.11.x
2. 安装PostgreSQL9.5或更高
3. 安装 jq
4. docker 与 docker-compose
代码配置
1. Clone 项目代码
2. 修改blockchain-explorer配置信息
3. 导入数据库相关脚本
4. explorer 与 fabric1.4 例子结合
构建项目
启动项目
访问explorer界面
由于更换了设备以及后续实验等原因,最后用了 fabric1.4 版本,而不是前文中的1.0版本。1.4搭建过程参考教程:
https://blog.csdn.net/qq_27348837/article/details/86974035
亲测有效且顺利。
其中,hyperledger-fabric-linux-amd64-1.4.0.tar 的下载来自 https://blog.csdn.net/qq_27348837/article/details/87895021
其中,npm 问题的解决方式可参考 https://www.jianshu.com/p/a64810bb1f6e
安装成功截图 启动网络 ./byfn.sh up 停掉网络 ./byfn.sh down
参考教程:https://www.cnblogs.com/xiaojf/p/11107874.html
https://blog.csdn.net/chixiang3533/article/details/100799369
直接从官网下载:https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz
拖到虚拟机里相应位置,比如我将其放在/opt/中。解压:tar xvf node-v8.11.1-linux-x64.tar.xz
配置开发环境: vi /etc/profile
增加以下内容:
#SET PATH FOR NODEJS
export NODE_HOME=/opt/node-v8.11.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH
注:把NODE_HOME的内容换成nodejs的安装路径即可。
使环境变量生效:source /etc/profile
检查是否配置成功:$ node -v
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
使用postgres用户登录数据库:sudo -u postgres psql
登录成功后,命令就会在postgres=# 下运行了:
# 以下内容内容都是在 postgres=# 下输入
ALTER USER postgres WITH PASSWORD '123456'; # 密码设置为123455,有分号才会执行命令
\q #退出客户端
修改ubuntu操作系统的postgres用户的密码
sudo passwd -d postgres #清空用户postgres的密码
sudo -u postgres passwd #设置密码 接下来按要求输入两次密码,要与上面的密码相同
参考教程:https://blog.csdn.net/u013719339/article/details/84134586
apt-get install jq
jq --version
已按照前文配置好了 docker 19.03.12 和 docker-compose 1.26.1
参考教程:https://blog.csdn.net/qq_32675427/article/details/99946945
在go/src/github.com/hyperledger路径下,
git clone https://github.com/hyperledger/blockchain-explorer.git
cd blockchain-explorer
cd blockchain-explorer
vim appconfig.json
修改"host": "localhost", 为"host": "虚拟机ip", 也可以修改端口
cd app
vim explorerconfig.json
修改postgresql相关连接信息
cd go/src/github.com/hyperledger/blockchain-explorer/app/persistence/fabric/postgreSQL/db
./createdb.sh
会创建fabricexplorer库以及相关表和索引。
cd go/src/github.com/hyperledger/blockchain-explorer/app/platform/fabric
vim config.json
设置blockchain network的名称,connectionProfile的路径
编辑first-network.json文件
vim ./connection-profile/first-network.json
可以设置explorer登录账号密码
fabric 的例子所在路径是/user/local/go/src/github.com/hyperledger/fabric-samples/first-network 替换掉 first-network.json 文件中/fabric-path/first-network,并且替换真实的私钥文件名称(去具体路径
/user/local/go/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/[email protected]/msp/keystore 下查看)。
我的修改为:
95f08ae13f773301e15a99a334b606a3c42104bf85ced31d591778d7f276de7b_sk
具体修改位置见下图指示
————————————————————————
注意!如果没有crypto-config文件夹,必须在 first-network 路径下执行命令:
cryptogen generate --config=./crypto-config.yaml
执行完以后,会在当前目录生成一个 crypto-config 目录,在这个目录下会根据 Orderer 和Peer 各自生成两个文件夹:
ordererOrganizations
peerOrganizations
分别代表着orderer和peer的组织及对应目录下的证书文件。
————————————————————————
cd blockchain-explorer
./main.sh install
./main.sh clean 清空各种依赖和构建的项目
cd blockchain-explorer
debug模式启动项目 ./start.sh debug
./stop.sh 关闭项目
访问http://虚拟机ip:8080 (端口可以修改默认8080) 用户名密码可以配置,默认admin/adminpw