fabric1.4.0——用fabric-samples工程体验fabric部署安装的过程

前期的环境准备可以按照另一篇博客中构建网络小节之前的步骤来完成,也就是通过bootstrap.sh脚本下载完成相关镜像文件。

运行超级账本需要设置较多的初始化配置,这里为了先有个体验,避免被众多配置搞晕了,就先用fabric-samples工程中已经生成的配置文件来体验fabric的部署安装过程。

 

部署超级账本网络

先下载fabric-samples文件

git clone https://github.com/hyperledger/fabric-samples.git

进入basic-network目录,利用docker-compose启动容器

[root@master opt]# cd fabric-samples/basic-network/
[root@master basic-network]# docker-compose -f docker-compose.yml up -d

可以用docker ps查看容器启动情况

切换到管理员用户再创建通道和加入通道:

切换环境到管理员用户的MSP,进入peer节点容器peer0.org1.example.com

[root@master basic-network]# docker exec -it -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com bash

创建通道

root@8bce6cf7abcd:/opt/gopath/src/github.com/hyperledger/fabric# peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx

加入通道

root@8bce6cf7abcd:/opt/gopath/src/github.com/hyperledger/fabric# peer channel join -b mychannel.block

退出peer节点容器peer0.org1.example.com

root@8bce6cf7abcd:/opt/gopath/src/github.com/hyperledger/fabric# exit

进入cli容器安装链码和实例化

[root@master basic-network]# docker exec -it cli /bin/bash

给peer节点peer0.org1.example.com安装链码

root@0c6f50b96708:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode install -n mycc -v v0 -p github.com/chaincode_example02

这一步可能会报下面的错

根据错误可知,是/opt/gopath/src/github.com/chaincode_example02路径下没有需要的chaincode_example02.go文件,通过下面的命令找到了此文件

找到后将此文件复制到/opt/gopath/src/github.com/chaincode_example02路径下即可解决(注意要在cli容器用户下进行复制)

上面这个问题应该是没有配置好环境变量GOPATH的原因,Hyperledger fabric工程必须位于 $GOPATH /src/ github.com/ hyperledger/fabric 路径下。

实例化链码

root@0c6f50b96708:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v v0 -c '{"Args":["init","a","100","b","200"]}'

链码调用和查询

链码实例化之后就可以查询初始值了,同样是在cli容器中进行

root@0c6f50b96708:/opt/gopath/src/github.com/chaincode_example02# peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
100

调用链码,从“a”转移10到“b”

root@0c6f50b96708:/opt/gopath/src/github.com/chaincode_example02# peer chaincode invoke -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'
2019-01-23 17:43:09.552 UTC [chaincodeCmd] InitCmdFactory -> INFO 001 Retrieved channel (mychannel) orderer endpoint: orderer.example.com:7050
2019-01-23 17:43:09.594 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 002 Chaincode invoke successful. result: status:200 

再次查询“a”和“b”的值

root@0c6f50b96708:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
90
root@0c6f50b96708:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'
210

 

下面这个博客是介绍的first-network的运行步骤:https://blog.csdn.net/liruizi/article/details/84998364#commentBox

你可能感兴趣的:(区块链,hyperleger,fabric)