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/Admin@org1.example.com/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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
这段命令的作用是: 1. 执行 `source /etc/profile` 命令,使得之前添加的 Go 语言环境变量生效; 2. 执行 `mkdir -p /home/ubuntu/gopath/src/github.com/hyperledger` 命令,创建一个目录用于存放 Hyperledger Fabric 的源代码; 3. 执行 `cd /home/ubuntu/gopath/src/github.com/hyperledger` 命令,切换到 Hyperledger Fabric 代码存放的目录; 4. 执行 `cp /resource/docker-compose /usr/local/bin` 命令,将预设好的 `docker-compose` 文件拷贝到 `/usr/local/bin` 目录下; 5. 执行 `chmod +x /usr/local/bin/docker-compose` 命令,添加可执行权限; 6. 执行 `cp /resource/fabric-samples.tar.gz /home/ubuntu/gopath/src/github.com/hyperledger` 命令,将预设好的 Hyperledger Fabric 样例程序压缩包拷贝到 `github.com/hyperledger` 目录下; 7. 执行 `cd /home/ubuntu/gopath/src/github.com/hyperledger` 命令,切换到 Hyperledger Fabric 样例程序所在的目录; 8. 执行 `tar -xf ./fabric-samples.tar.gz` 命令,解压 Hyperledger Fabric 样例程序压缩包; 9. 执行 `source /etc/profile` 命令,重新加载 Go 语言环境变量; 10. 执行 `cd /home/ubuntu/gopath/src/github.com/hyperledger/fabric-samples/scripts` 命令,切换到 Hyperledger Fabric 样例程序的脚本目录; 11. 执行 `./bootstrap.sh 1.4.0 1.4.0 0.4.14` 命令,安装 Hyperledger Fabric 所需的依赖组件; 12. 执行 `cd /home/ubuntu/gopath/src/github.com/hyperledger/fabric-samples/first-network` 命令,切换到 Hyperledger Fabric 样例程序的第一个网络目录; 13. 执行 `./byfn.sh up -s couchdb` 命令,启动第一个网络,并使用 CouchDB 作为状态数据库; 14. 执行 `docker-compose -f docker-compose-cli.yaml -f docker-compose-couch.yaml -f docker-compose-kafka.yaml start` 命令,启动 Fabric 网络中的 Docker 容器; 15. 执行 `../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx channel-artifacts/test.tx -channelID test` 命令,使用 configtxgen 工具生成通道交易配置文件和创世块配置文件。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值