美文网首页Hyperledger Fabric开发实战
Hyperledger Fabric开发实战-07 开发流程

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

作者: 史圣杰 | 来源:发表于2018-11-30 23:20 被阅读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')"
    
    

    相关文章

      网友评论

        本文标题:Hyperledger Fabric开发实战-07 开发流程

        本文链接:https://www.haomeiwen.com/subject/guckcqtx.html