环境:Ubuntu18.04.4
参考教程:
https://segmentfault.com/a/1190000021387375https://blog.csdn.net/sun13465816527/article/details/80453518https://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.htmlhttps://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 #设置密码 接下来按要求输入两次密码,要与上面的密码相同查看版本:psql --version
参考教程: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/Admin@org1.example.com/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