博主最近部署fabric发现,fabric的部署很方便,同时官方提供了示范脚本,博主在部署官方示范脚本end-2-end的时候,发现启动环境是如此简单流畅!!但也带来了一个问题,因为脚本过于流畅和简单,单机多节点的启动的具体理解确变的复杂,为此博主开始了手动搭建单机多节点的征程,同时记录下来希望对大家有所帮助下面是此系列文章的目录结构,供大家品尝
hyperledger-fabric1.1 单机多点部署(1)-生成证书文件
hyperledger-fabric1.1 单机多点部署(2)-部署orderer节点
hyperledger-fabric1.1 单机多点部署(3)-部署peer0.org1节点
hyperledger-fabric1.1 单机多点部署(4)-搭建fabric网络
hyperledger-fabric1.1 单机多点部署(5)-初步了解智能合约
hyperledger-fabric1.1 单机多点部署(6)-部署peer0.org2节点
fabric 网络搭建起来之后,我们要开始在上面执行合适的智能合约,以此来实现具体的功能。
接下来我们开始对智能合约的安装,部署,实例化以及功能测试。
我们应该记得 在开始的时候我们上传了智能合约的demo到go目录下,合约目录的路径如下
$GOPATH/github.com/hyperledger/fabric1.1/aberic/chaincode/go/chaincode_example02
如果你忘了可以博主参考上一篇文章hyperledger-fabric1.1 单机多点部署(4)-搭建fabric网络
好!现在开始我们安装智能合约,执行如下命令
peer chaincode install -n mychannel -p github.com/hyperledger/fabric/aberic/chaincode/go/chaincode_example02 -v 1.0
执行结果如下
安装完成之后我们实例化chaincode,执行命令如下
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mychannel -c '{"Args":["init","A","10","B","10"]}' -P "OR ('Org1MSP.member')" -v 1.0
实例化合约成功日志如下
通过以上实例化内容,我们创建了一个key为A和一个key为B的账户,同时给每个账户一个值为10的资产。
接下来我们来查询一下A的资产是否和我们所预料的一样为10
peer chaincode query -C mychannel -n mychannel -c '{"Args":["query","A"]}'
我们会得到如下结果,我们可以看到A账户的知产的确是10
同样我们来查询一下B的资产,我们会得到B的资产也为10
peer chaincode query -C mychannel -n mychannel -c '{"Args":["query","B"]}'
结下来我们来尝试将A账户的资产转移2个到B账户下面,执行命令如下
peer chaincode invoke -C mychannel -n mychannel -c '{"Args":["invoke","A","B","2"]}'
执行完毕之后我们再次查看A账户和B账户的资产
查看A账户资产
查看B账户资产
我们会发现A账户资产已经减少了而B账户增加了2个资产
至此我们,我们完成了对智能合约部分的安装,部署,实例化以及一些基本功能的测试。
接下来的课程我们来开始部署peer0.org2节点