Hyperledger Fabric 1.4 搭建区块链浏览器
2020-02-05 02:18
288 查看
1. 准备工作
- 安装nodejs
sudo apt-get install nodejs sudo apt install nodejs-legacy # 验证版本 node -v # 更新 npm 包镜像源 sudo npm config set registry https://registry.npm.taobao.org
- 安装npm
sudo apt-get install npm # 验证版本 npm -v
- 安装jq
sudo apt-get install jq # 验证版本 jq -V
- 安装postgreSQL,过程中需设置密码
# 更新 apt 包索引 sudo apt-get update # 安装数据库,安装后会自动添加 postgres 的操作系统用户,密码是随机的 sudo apt-get install postgresql # 打开客户端工具 psql sudo -u postgres psql # 修改 postgres 数据库用户的密码为123456 postgres=# ALTER USER postgres WITH PASSWORD '123456'; # 退出 psql postgres=# \q # 修改 ubuntu 操作系统的 postgres 用户的密码 sudo passwd -d postgres sudo -u postgres passwd # 修改配置实现远程访问 vi /etc/postgresql/9.5/main/postgresql.conf # 修改连接权限 #listen_addresses = 'localhost' 改为 listen_addresses = '*' # 启用密码验证 #password_encryption = on 改为 password_encryption = on # 设置所有用户可连接 vi /etc/postgresql/9.4/main/pg_hba.conf # 在最后一行插入以下内容 host all all 0.0.0.0/0 md5 # 重启服务 /etc/init.d/postgresql restart
- git在上篇已经安装过了,不再赘述
2. 拉取项目
- 进入文件目录
cd ~ cd go/hyperledger/
- clone blockchain-explorer
git clone https://github.com/hyperledger/blockchain-explorer.git
- 修改文件夹权限
sudo chmod -R 777 blockchain-explorer
3. 创建数据库
- 修改配置文件
cd ~ # 进入配置文件目录 cd go/hyperledger/blockchain-explorer/app/ # 修改配置文件 username passwd vi explorerconfig.json
- 进入数据库文件目录
cd ~ cd go/hyperledger/blockchain-explorer/app/persistence/fabric/postgreSQL/db/
- 创建数据库
sudo ./createdb.sh
- 查看是否创建成功
# 连接 postgresSQL sudo -u postgres psql # 查看已有数据库 \l # 查看已创建表 \d # 退出 \q
4. 启动first-network
- 进入文件目录
cd ~ cd go/hyperledger/fabric/fabric-samples/first-network/
- 启动网络
./byfn.sh up
5. 修改Explorer Fabric配置
- 进入文件目录
cd ~ cd go/hyperledger/blockchain-explorer/app/platform/fabric/connection-profile/
- 修改配置文件
vi first-network.json
- 修改 fabric_path 为实际目录
6. 构建Hyperledger Explorer
- 进入文件目录
cd ~ cd go/hyperledger/blockchain-explorer/
- install, run tests, build project
# 如果此步骤运行报错,请参照最下方异常处理,更换 node 版本 # 更换成功后需先执行 ./main.sh clean 然后再重复此步骤 ./main.sh install
- test REST API, UI components
./main.sh test
7. 运行
cd ~ cd go/hyperledger/blockchain-explorer/ ./start.sh
8. chaincode测试
-
进入cli容器
docker exec -it cli bash
-
查询
# -C,--channelID: 当前命令运行的通道 # -n,--name: chaincode 的名字 # -c, --ctor: JSON 格式的构造参数 # 查询 A 账户余额,返回 90 peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' # 查询 B 账户余额,返回 210 peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'
-
交易
# -o, --orderer: orderer 节点的地址 # -C,--channelID: 当前命令运行的通道 # -n,--name: chaincode 的名字 # -c, --ctor: JSON 格式的构造参数 # --tls: 通信时是否使用 tls 加密 # --cafile: 当前 orderer 节点 pem 格式的 tls 证书文件,要使用绝对路径 # --peerAddresses: 指定要连接的 peer 节点的地址 # --tlsRootCertFiles: 连接的 peer 节点的 TLS 根证书 # A 账户向 B 账户转账 10,成功返回 Chaincode invoke successful. result: status:200 peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddress peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddress peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'
-
交易执行后可再执行查询测试,区块浏览器数据即时更新。
每执行一次交易,区块浏览器 BLOCKS & TRANSACTIONS 加一
异常处理
- 第6步
./main.sh install
报错,是因为Hyperledger Explorer需要Nodejs 8.11.x,需升级node版本cd ~ # 进入文件目录 cd /usr/local/ # 下载 node-v8.11.4 sudo wget https://npm.taobao.org/mirrors/node/latest-v8.x/node-v8.11.4-linux-x64.tar.xz # 解压 sudo tar xvf node-v8.11.1-linux-x64.tar.xz # 返回根目录 cd ~ # 修改环境变量 vi ~/.bashrc # 在最后一行加入以下内容 export PATH=/usr/local/node-v8.11.4-linux-x64/bin:$PATH # 环境变量立即生效 source ~/.bashrc # 查看 node 版本 node -v
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 区块链、Hyperledger-Fabric框架Win10环境搭建
- Hyperledger Fabric 1.4 产品链搭建教程
- 区块链框架-在Ubuntu16.04上搭建Hyperledger Fabric1.0环境步骤
- Hyperledger Fabric 1.4 产品链搭建教程 (二) —— MyFabric Demo链节点启动及合约部署调用
- 1.Hyperledger Fabric1.4在Ubuntu18.04中的基础环境搭建及first-network运行
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- Hyperledger Fabric 1.4环境搭建
- hyperledger fabric v1.4 linux 环境搭建 详细
- hyperledger fabric 1.4环境搭建
- 区块链hyperledger fabric 环境搭建 centos7 docker环境
- 区块链 hyperledger fabric1.0 环境搭建
- hyperledger blockchain-explorer 区块链浏览器项目搭建
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- 搭建基于hyperledger fabric--生成公私钥证书及配置文件
- Ubuntu16.04搭建Hyperledger Fabric 1.0.5开发环境
- 在Ubuntu 18.04上搭建HyperLedger Fabric 1.2.0 环境
- 面向区块链网络的 Hyperledger Fabric 的 6 大技术优势
- 在HyperLedger Fabric中启用CouchDB作为State Database(区块链数据库)
- 使用Hyperledger Fabric和Composer实现区块链应用程序
- Michael.W谈hyperledger Fabric第7期-手动搭建Fabric网络之编写用于启动网络的docker-compose配置文件-客户端