美文网首页
Hyperledger Fabric byfn up 详解

Hyperledger Fabric byfn up 详解

作者: 一钱科技 | 来源:发表于2020-04-01 19:10 被阅读0次

    Hyperledger Fabric 整理体系:

    日志详情:日志总结  下面针对每一步进行详细说明和操作

     切换到first-network目录

    • 生成证书
    ./byfy.sh generate
    
    • 创建容器,包括orderer、peer0.org1、peer1.org1、peer0.org2、peer2.org1、cli
    IMAGE_TAG=latest docker-compose -f docker-compose-cli.yaml up -d 2>&1
    
    Creating peer1.org2.example.com ... done
    Creating peer0.org1.example.com ... done
    Creating peer1.org1.example.com ... done
    Creating peer0.org2.example.com ... done
    Creating orderer.example.com    ... done
    Creating cli                    ... done
    

    后续操作是在cli容器中进行:docker exec -it cli bash

    • 创建通道
    peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
    [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
    [cli.common] readBlock -> INFO 002 Received block: 0
    
    • 加入通道
    export CORE_PEER_LOCALMSPID=Org1MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    
    [Peer0.Org1]
    export CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    peer channel join -b mychannel.block
    
    [Peer1.Org1]
    export CORE_PEER_ADDRESS=peer1.org1.example.com:8051
    peer channel join -b mychannel.block
    
    export CORE_PEER_LOCALMSPID=Org2MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    
    [Peer0.Org2]
    export CORE_PEER_ADDRESS=peer0.org2.example.com:9051
    peer channel join -b mychannel.block
    
    [Peer1.Org2]
    export CORE_PEER_ADDRESS=peer1.org2.example.com:10051
    peer channel join -b mychannel.block
    
    [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
    [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
    
    • 更新锚点:AnchorPeer
    Org1锚点Peer0:
    export CORE_PEER_LOCALMSPID=Org1MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    export CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    
    peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org1MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
    Org2锚点Peer0:
    export CORE_PEER_LOCALMSPID=Org2MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    export CORE_PEER_ADDRESS=peer0.org2.example.com:9051
    
    peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org2MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
    [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
    [channelCmd] update -> INFO 002 Successfully submitted channel update
    
    • 安装合约:Install chaincode
    Peer0.Org1:
    export CORE_PEER_LOCALMSPID=Org1MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    export CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    
    peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
    
    Peer0.Org2:
    export CORE_PEER_LOCALMSPID=Org2MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    export CORE_PEER_ADDRESS=peer0.org2.example.com:9051
    
    peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
    
    [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
    [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
    [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
    
    • 实例化合约:instantiate chaincode
    export CORE_PEER_LOCALMSPID=Org2MSP
    export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    export CORE_PEER_ADDRESS=peer0.org2.example.com:9051
    ## 在Peer0.Org2实例化合约
    peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P 'AND ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'
    
    [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
    [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
    
    • 合约操作:query invoke del
    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
    peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'
    

    相关文章

      网友评论

          本文标题:Hyperledger Fabric byfn up 详解

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