Hyperledger Fabric开发实战

Hyperledger Fabric开发实战-07 开发流程

2018-11-30  本文已影响0人  史圣杰

本文是在阅读《区块链开发实战-Hyperledger Fabric关键技术与案例分析》一书的同时,在实践中记录的一些实践步骤与经验分享。

Hyperledger Fabric开发实战-08 供应链金融实战

本节的目的是在前面的基础之上,启动Org2的peer节点,并将peer加入Channle,并测试由两个组织背书的Chaincode。

启动Org2的peer

与启动Org1的pper一样,首先需要修改core.yaml的配置,在配置中,由于是在同一台机器,将启动端口由之前的70507051,改为1705017051

# 首先,创建一个文件夹org2peer保存peer的配置文件和日志
mkdir -p /home/ssj234/fabricwksp/02-helloworld/org2peer
# 设置环境变量
export set FABRIC_CFG_PATH=/home/ssj234/fabricwksp/02-helloworld/org2peer
# 启动peer节点
peer node start >> log_peer.log 2>&1 &

将Peer节点加入Channel

组织Org2MSP的peer启动成功后,需要加入到cmbcchannel666中以便能够同步账本信息。

在加入之前,我们先通过peer查询一下channel的信息

# 先之前的peer节点
export set CORE_PEER_LOCALMSPID=Org1MSP
#
export set CORE_PEER_ADDRESS=peer0.org1.cmbc.com:7051
export set CORE_PEER_MSPCONFIGPATH=/home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org1.cmbc.com/users/Admin@org1.cmbc.com/msp

peer channel getinfo -c cmbcchannel666

先使用Org1的peer环境用户查询,可以返回如下信息

Blockchain info: {"height":26,"currentBlockHash":"OLFVZ5rAREZoF0vBjHLti2R/rr4AQkdc40gRiBxeawg=","previousBlockHash":"zIszKwF0uPV9ruap49FKgpkSXFpPwUCp6UNelxxTpZQ="}

但是,如果改为Org2MSP的配置,就会出现access denied的错误了。

加入channel的时候可以使用原来生成的Channel的创世块cmbcchannel666.block,如果找到到这个块,可以使用下面的命令导出

export set CORE_PEER_LOCALMSPID=Org2MSP
export set CORE_PEER_ADDRESS=peer0.org2.cmbc.com:17051
export set CORE_PEER_MSPCONFIGPATH=/home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org2.cmbc.com/users/Admin@org2.cmbc.com/msp
# 联系orderer节点,导出cmbcchannel666的创世块
peer channel fetch 0 cmbcchannel666.block -c cmbcchannel666 -o orderer.cmbc.com:7050

有了创世快之后,使用之前的命令就可以将Org2的peer节点加入到channel中了。

export set FABRIC_CFG_PATH=/home/ssj234/fabricwksp/02-helloworld/peer
export set CORE_PEER_LOCALMSPID=Org2MSP
# 由于是在同一台机器上部署了两个组织的peer,需要制定peer地址
export set CORE_PEER_ADDRESS=peer0.org2.cmbc.com:17051
export set CORE_PEER_MSPCONFIGPATH=/home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org2.cmbc.com/users/Admin@org2.cmbc.com/msp

peer channel join -b /home/ssj234/fabricwksp/02-helloworld/org2peer/cmbcchannel666.block

执行完成后,Org2MSP的peer就加入到了Channel中。

测试背书

目前,我们已经部署了Org1MSP和Org2MSP两个组织的两个Peer节点,下面测试一个Chaincode,需要两个组织同意后才能生效。

部署Chaincode

部署Chaincode跟之前的差别不大,需要主要两点

  1. 实例化时使用AND,而不是OR
    2.只需要一个Peer实例化即可
peer chaincode instantiate -o orderer.cmbc.com:7050 -C cmbcchannel666 -n twoorgchaincode -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "AND ('Org1MSP.member','Org2MSP.member')"

上一篇下一篇

猜你喜欢

热点阅读