因为资源有限,决定在云上使用三台虚机,搭建e2e_cli的样例集群,使用的资源如下:

172.21.0.5   orderer.example.com

172.21.0.13  peer0.org1.example.com

172.21.0.15 peer0.org2.example.com

建立两个组,每个组只有一个peer,以下是各个配置文件和注意事项:

1.在各个主机上都可以支持独立运行e2e的伪分布式docker集群环境

2.在部署时,需要将各个环境初始化,特别是chaincode mycc的docker镜像,删除

3.orderer.example.com的配置文件,需要加extra_hosts,否则无法访问peer节点,这里要加全

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:orderer.example.com:extends:file:   base/docker-compose-base.yamlservice: orderer.example.comcontainer_name: orderer.example.com
    extra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

docker-compose的启动和停止

$sudo cp docker-compose-cli.yaml orderer.yaml

按照上面的内容修改

$docker-compose -f orderer.yaml up -d
-d是以deamon方式启动,如果报错,则用docker ps查看时会看到docker并没有启动成功。这时可以去掉-d启动,查看输出的日志,找出问题
$docker-compose -f orderer.yaml down
关闭,会将channel等都删除,详细内容看script/scripts.sh,执行完down后,可以再次执行up,如果不执行down,关闭后再执行up则原来创建的channel都会起来

docker-compose -base.yaml内容修改,其实只修改其中的orderer段的内容即可,peer-base.yaml的内容可不动

ubuntu@VM-0-5-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base$ more docker-compose-base.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:orderer.example.com:container_name: orderer.example.comimage: hyperledger/fabric-ordererenvironment:- ORDERER_GENERAL_LOGLEVEL=debug- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0- ORDERER_GENERAL_GENESISMETHOD=file- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block- ORDERER_GENERAL_LOCALMSPID=OrdererMSP- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp# enabled TLS- ORDERER_GENERAL_TLS_ENABLED=true- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]working_dir: /opt/gopath/src/github.com/hyperledger/fabriccommand: orderervolumes:- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tlsports:- 7050:7050peer0.org1.example.com:container_name: peer0.org1.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org1.example.com- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053peer0.org2.example.com:container_name: peer0.org2.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org2.example.com- CORE_PEER_ADDRESS=peer0.org2.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053

4.peer节点,切换到172.21.0.13机器,保证两台机器内网可以ping通,然后修改如下的内容

拷贝一个peer节点的配置文件
$sudo cp docker-compose-cli.yaml peer.yaml
拷贝一个cli docker启动的配置文件,并且执行注册创建查询等脚本
$sudo cp docker-compose-cli.yaml cli.yaml
拷贝一个空的cli镜像脚本,用于以后的查询和操作
$sudo cp docker-compse-cli.yaml cli-no.yaml

peer.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more peer.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:peer0.org1.example.com:container_name: peer0.org1.example.comextends:file:  base/docker-compose-base.yamlservice: peer0.org1.example.comextra_hosts:- "orderer.example.com:172.21.0.5"
#     - "peer0.org1.example.com:172.21.0.13" 不要加自身,增加后启动会报错,端口绑定问题- "peer0.org2.example.com:172.21.0.15"

cli.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:cli:container_name: cliimage: hyperledger/fabric-toolstty: trueenvironment:- GOPATH=/opt/gopath- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=cli- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSP- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key- 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- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/mspworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'volumes:- /var/run/:/host/var/run/- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifactsextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

cli-no.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli-no.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:cli:container_name: cliimage: hyperledger/fabric-toolstty: trueenvironment:- GOPATH=/opt/gopath- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=cli- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSP- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key- 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- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp- CHANNEL_NAME=mychannelworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer #command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'volumes:- /var/run/:/host/var/run/- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifactsextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

scripts/scripts.sh,后半部分调用顺序

## Create channel
echo "Creating channel..."
createChannel## Join all the peers to the channel
echo "Having all peers join the channel..."
joinChannel## Set the anchor peers for each org in the channel
echo "Updating anchor peers for org1..."
updateAnchorPeers 0
echo "Updating anchor peers for org2..."
updateAnchorPeers 2## Install chaincode on Peer0/Org1 and Peer2/Org2
echo "Installing chaincode on org1/peer0..."
installChaincode 0
echo "Install chaincode on org2/peer2..."
installChaincode 2#Instantiate chaincode on Peer2/Org2
echo "Instantiating chaincode on org1/peer0..."
instantiateChaincode 0#Query on chaincode on Peer0/Org1
echo "Querying chaincode on org1/peer0..."
chaincodeQuery 0 100#Invoke on chaincode on Peer0/Org1
echo "Sending invoke transaction on org2/peer0..."
chaincodeInvoke 2## Install chaincode on Peer3/Org2
#echo "Installing chaincode on org2/peer3..."
#installChaincode 3#Query on chaincode on Peer3/Org2, check if the result is 90
echo "Querying chaincode on org2/peer0..."
chaincodeQuery 2 90

base/docker-compose-base.yaml,其实只涉及peer0.org1段的配置,注意端口映射,从docker到local的ip端口可以一致,因为docker运行在不同的主机上,在本例中,如果在一个机器上运行两个peer,则还要考虑org1的两个peer的端口映射问题。

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/docker-compose-base.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:orderer.example.com:container_name: orderer.example.comimage: hyperledger/fabric-ordererenvironment:- ORDERER_GENERAL_LOGLEVEL=debug- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0- ORDERER_GENERAL_GENESISMETHOD=file- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block- ORDERER_GENERAL_LOCALMSPID=OrdererMSP- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp# enabled TLS- ORDERER_GENERAL_TLS_ENABLED=true- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]working_dir: /opt/gopath/src/github.com/hyperledger/fabriccommand: orderervolumes:- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tlsports:- 7050:7050peer0.org1.example.com:container_name: peer0.org1.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org1.example.com- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tlsports:
      - 7051:7051- 7052:7052- 7053:7053peer0.org2.example.com:  container_name: peer0.org2.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org2.example.com- CORE_PEER_ADDRESS=peer0.org2.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tlsports:
      - 7051:7051- 7052:7052- 7053:7053

peer-base.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/peer-base.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'
services:peer-base:image: hyperledger/fabric-peerenvironment:- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock# the following setting starts chaincode containers on the same# bridge network as the peers# https://docs.docker.com/compose/networking/- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default#- CORE_LOGGING_LEVEL=ERROR- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_TLS_ENABLED=true- CORE_PEER_GOSSIP_USELEADERELECTION=true- CORE_PEER_GOSSIP_ORGLEADER=false- CORE_PEER_PROFILE_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crtworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: peer node start

peer节点的启动和关闭

$docker-compose -f peer.yaml up -d
$docker-compose -f peer.yaml up 窗口输出日志
$docker-compose -f peer.yaml down 会清空peer中的内容,回到初始环境

cli镜像的启动,因为cli镜像启动时mount了script/scripts.sh脚本的内容,因此在启动cli镜像时,要考虑一下脚本中可能有执行不成功的内容,可以对脚本做修改,将peer0.org1和peer0.org2的内容分开执行,建议在peer0.org2启动后再执行cli,否则报错会比较多

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:cli:container_name: cliimage: hyperledger/fabric-toolstty: trueenvironment:- GOPATH=/opt/gopath- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=cli- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSP- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key- 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- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/mspworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'volumes:- /var/run/:/host/var/run/- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifactsextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

5. peer0.org2节点的启动切换到第三台机器

peer.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more peer.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:peer0.org2.example.com:container_name: peer0.org2.example.comextends:file:  base/docker-compose-base.yamlservice: peer0.org2.example.comextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"
#     - "peer0.org2.example.com:172.21.0.15"

cli.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:cli:container_name: cliimage: hyperledger/fabric-toolstty: trueenvironment:- GOPATH=/opt/gopath- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=cli- CORE_PEER_ADDRESS=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSP- CORE_CHAINCODE_STARTUPTIMEOUT=6000000- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key- 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- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/mspworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'volumes:- /var/run/:/host/var/run/- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifactsextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

cli-no.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli-no.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:cli:container_name: cliimage: hyperledger/fabric-toolstty: trueenvironment:- GOPATH=/opt/gopath- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=cli- CORE_PEER_ADDRESS=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSP- CORE_CHAINCODE_STARTUPTIMEOUT=6000000- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key- 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- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/mspworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer#command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'volumes:- /var/run/:/host/var/run/- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifactsextra_hosts:- "orderer.example.com:172.21.0.5"- "peer0.org1.example.com:172.21.0.13"- "peer0.org2.example.com:172.21.0.15"

还是要注意修改script/scripts.sh的内容,在cli.yaml中,cli集群启动后会执行这个脚本。

scripts.sh

## Create channel
#echo "Creating channel..."
#createChannel## Join all the peers to the channel
#echo "Having all peers join the channel..."
#joinChannel## Set the anchor peers for each org in the channel
#echo "Updating anchor peers for org1..."
#updateAnchorPeers 0
#echo "Updating anchor peers for org2..."
#updateAnchorPeers 2## Install chaincode on Peer0/Org1 and Peer2/Org2
#echo "Installing chaincode on org1/peer0..."
#installChaincode 0
#echo "Install chaincode on org2/peer2..."
#installChaincode 2#Instantiate chaincode on Peer2/Org2
#echo "Instantiating chaincode on org2/peer2..."
#instantiateChaincode 2#Query on chaincode on Peer0/Org1
#echo "Querying chaincode on org1/peer0..."
#chaincodeQuery 0 100#Invoke on chaincode on Peer0/Org1
echo "Sending invoke transaction on org2/peer0..."
chaincodeInvoke 2## Install chaincode on Peer3/Org2
#echo "Installing chaincode on org2/peer3..."
#installChaincode 3#Query on chaincode on Peer3/Org2, check if the result is 90
echo "Querying chaincode on org2/peer2..."
#chaincodeQuery 3 90
chaincodeQuery 2 90

base/docker-compose-base.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/docker-compose-base.yaml

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'services:orderer.example.com:container_name: orderer.example.comimage: hyperledger/fabric-ordererenvironment:- ORDERER_GENERAL_LOGLEVEL=debug- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0- ORDERER_GENERAL_GENESISMETHOD=file- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block- ORDERER_GENERAL_LOCALMSPID=OrdererMSP- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp# enabled TLS- ORDERER_GENERAL_TLS_ENABLED=true- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]working_dir: /opt/gopath/src/github.com/hyperledger/fabriccommand: orderervolumes:- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp- ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tlsports:- 7050:7050peer0.org1.example.com:container_name: peer0.org1.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org1.example.com- CORE_PEER_ADDRESS=peer0.org1.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053peer1.org1.example.com:container_name: peer1.org1.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer1.org1.example.com- CORE_PEER_ADDRESS=peer1.org1.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051- CORE_PEER_LOCALMSPID=Org1MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053peer0.org2.example.com:container_name: peer0.org2.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer0.org2.example.com- CORE_PEER_ADDRESS=peer0.org2.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053peer1.org2.example.com:container_name: peer1.org2.example.comextends:file: peer-base.yamlservice: peer-baseenvironment:- CORE_PEER_ID=peer1.org2.example.com- CORE_PEER_ADDRESS=peer1.org2.example.com:7051- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051- CORE_PEER_LOCALMSPID=Org2MSPvolumes:- /var/run/:/host/var/run/- ../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp- ../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tlsports:- 7051:7051- 7052:7052- 7053:7053

base/peer-base.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/peer-base.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#version: '2'
services:peer-base:image: hyperledger/fabric-peerenvironment:- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock# the following setting starts chaincode containers on the same# bridge network as the peers# https://docs.docker.com/compose/networking/- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default#- CORE_LOGGING_LEVEL=ERROR- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_TLS_ENABLED=true- CORE_PEER_GOSSIP_USELEADERELECTION=true- CORE_PEER_GOSSIP_ORGLEADER=false- CORE_PEER_PROFILE_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crtworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/peercommand: peer node start

6.整体环境测试脚本执行顺序

172.21.0.5:在e2e_cli目录下
$ docker-compose -f orderer.yaml up -d
172.21.0.13:
$docker-compose -f peer.yaml up -d
172.21.0.15
$docker-compose -f peer.yaml up -d
172.21.0.13:
$docker-compose -f cli.yaml up
查看这个执行的结果

正确的执行结果输出如下:

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ docker-compose -f cli.yaml up
WARNING: The CHANNEL_NAME variable is not set. Defaulting to a blank string.
WARNING: The TIMEOUT variable is not set. Defaulting to a blank string.
WARNING: Found orphan containers (peer0.org1.example.com) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Creating cli ... done
Attaching to cli
cli    |
cli    |  ____    _____      _      ____    _____           _____   ____    _____
cli    | / ___|  |_   _|    / \    |  _ \  |_   _|         | ____| |___ \  | ____|
cli    | \___ \    | |     / _ \   | |_) |   | |    _____  |  _|     __) | |  _|
cli    |  ___) |   | |    / ___ \  |  _ <    | |   |_____| | |___   / __/  | |___
cli    | |____/    |_|   /_/   \_\ |_| \_\   |_|           |_____| |_____| |_____|
cli    |
cli    | Channel name : mychannel
cli    | Creating channel...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:11.000 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:11.000 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.003 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A88060A074F7267314D535012FC052D...53616D706C65436F6E736F727469756D
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: DE80A9F2D4F19718787BC5870D42C2015B782CC0069816A9E37FB71C4A79C3AB
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...2DFF942434851C3A2AD6662ECA36A374
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: 4768892C9B67DE6BB523EAB3B9A7151AE43F4B7A2DABDD53E63EE8B17D1BF157
cli    | 2018-04-15 04:54:11.097 UTC [msp] GetLocalMSP -> DEBU 010 Returning existing local MSP
cli    | 2018-04-15 04:54:11.097 UTC [msp] GetDefaultSigningIdentity -> DEBU 011 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.098 UTC [msp] GetLocalMSP -> DEBU 012 Returning existing local MSP
cli    | 2018-04-15 04:54:11.098 UTC [msp] GetDefaultSigningIdentity -> DEBU 013 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.098 UTC [msp/identity] Sign -> DEBU 014 Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...DAD1528F622012080A021A0012021A00
cli    | 2018-04-15 04:54:11.098 UTC [msp/identity] Sign -> DEBU 015 Sign: digest: 96D37D986D406473CE18CC74F1671F6D90727907B81A8AAEB8C1C7BC5B3D513F
cli    | 2018-04-15 04:54:11.143 UTC [channelCmd] readBlock -> DEBU 016 Got status:*orderer.DeliverResponse_Status
cli    | 2018-04-15 04:54:11.143 UTC [msp] GetLocalMSP -> DEBU 017 Returning existing local MSP
cli    | 2018-04-15 04:54:11.143 UTC [msp] GetDefaultSigningIdentity -> DEBU 018 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.193 UTC [channelCmd] InitCmdFactory -> INFO 019 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetLocalMSP -> DEBU 01a Returning existing local MSP
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetDefaultSigningIdentity -> DEBU 01b Obtaining default signing identity
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetLocalMSP -> DEBU 01c Returning existing local MSP
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetDefaultSigningIdentity -> DEBU 01d Obtaining default signing identity
cli    | 2018-04-15 04:54:11.393 UTC [msp/identity] Sign -> DEBU 01e Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...26C2221E87DB12080A021A0012021A00
cli    | 2018-04-15 04:54:11.393 UTC [msp/identity] Sign -> DEBU 01f Sign: digest: B3826453EE3BB44344D3A6E29246829F32156979E09DFC020FC5949DEB61F350
cli    | 2018-04-15 04:54:11.400 UTC [channelCmd] readBlock -> DEBU 020 Received block:0
cli    | 2018-04-15 04:54:11.400 UTC [main] main -> INFO 021 Exiting.....
cli    | ===================== Channel "mychannel" is created successfully =====================
cli    |
cli    | Having all peers join the channel...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:11.438 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:11.438 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.441 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.442 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A86070A5C08011A0C08F3B5CBD60510...25BB45EE77B11A080A000A000A000A00
cli    | 2018-04-15 04:54:11.442 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: 9BA866AB9FEAE440806A25E21840528A4FDFA114CF6D2ADA573A7A8FA5152716
cli    | 2018-04-15 04:54:11.487 UTC [channelCmd] executeJoin -> INFO 006 Peer joined the channel!
cli    | 2018-04-15 04:54:11.487 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== PEER0 joined on the channel "mychannel" =====================
cli    |
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:13.534 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:13.534 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:13.538 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:13.539 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A8A070A5C08011A0C08F5B5CBD60510...25BB45EE77B11A080A000A000A000A00
cli    | 2018-04-15 04:54:13.539 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: ABCDB9F2CEB1E9972F32EFF9BD3277C963458B9390940B4BF1C5A6BD2BAED716
cli    | 2018-04-15 04:54:13.581 UTC [channelCmd] executeJoin -> INFO 006 Peer joined the channel!
cli    | 2018-04-15 04:54:13.581 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== PEER2 joined on the channel "mychannel" =====================
cli    |
cli    | Updating anchor peers for org1...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:15.618 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:15.618 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A88060A074F7267314D535012FC052D...2A0641646D696E732A0641646D696E73
cli    | 2018-04-15 04:54:15.621 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: 8883F8A62AFCCCFD6198A8FD30D36AC62A6979D9469924E0F207325DC6B2226F
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:15.622 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:15.622 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:15.622 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0ABF060A1508021A0608F7B5CBD60522...DAC89DFC512D03F99F71668252C10F50
cli    | 2018-04-15 04:54:15.622 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: E824E39BF97357A9ECDAA6ACF47DF6F45991DDF23DCC75ECB6A6785B641C164F
cli    | 2018-04-15 04:54:15.649 UTC [main] main -> INFO 010 Exiting.....
cli    | ===================== Anchor peers for org "Org1MSP" on "mychannel" is updated successfully =====================
cli    |
cli    | Updating anchor peers for org2...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:20.693 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:20.693 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A8C060A074F7267324D53501280062D...2A0641646D696E732A0641646D696E73
cli    | 2018-04-15 04:54:20.696 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: 59624AD92F7F9F9A3265CACBB14831CC5575BC53247FA070BFF7E1A2F226A27D
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:20.697 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0AC3060A1508021A0608FCB5CBD60522...27069DA9A535BB56FD39AC8B3D89D95E
cli    | 2018-04-15 04:54:20.697 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: F96E61338D134C04D90D3CE5D7C0CC0DEDEE929538673956A811E8EAB295DF44
cli    | 2018-04-15 04:54:20.728 UTC [main] main -> INFO 010 Exiting.....
cli    | ===================== Anchor peers for org "Org2MSP" on "mychannel" is updated successfully =====================
cli    |
cli    | Installing chaincode on org1/peer0...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:25.773 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:25.774 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:25.774 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:25.774 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:25.824 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done
cli    | 2018-04-15 04:54:25.963 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0A86070A5C08031A0C0881B6CBD60510...5F74FD270000FFFFCEF44F9B002C0000
cli    | 2018-04-15 04:54:25.963 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: 5B0E9D0ACAA73D265BEEC6557D0FC3D1FAE649C46E35A837248EA465B18F0D2C
cli    | 2018-04-15 04:54:25.969 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response:<status:200 payload:"OK" >
cli    | 2018-04-15 04:54:25.969 UTC [main] main -> INFO 00e Exiting.....
cli    | ===================== Chaincode is installed on remote peer PEER0 =====================
cli    |
cli    | Install chaincode on org2/peer2...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:26.015 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:26.015 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:26.015 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:26.015 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:26.062 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer
cli    | 2018-04-15 04:54:26.194 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv
cli    | 2018-04-15 04:54:26.194 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done
cli    | 2018-04-15 04:54:26.196 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0A89070A5B08031A0B0882B6CBD60510...5F74FD270000FFFFCEF44F9B002C0000
cli    | 2018-04-15 04:54:26.196 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: 7AC05CD4271A4B6E304EBAF6B8465182784BAF58AA93C7F5C969C7FE85BDF09E
cli    | 2018-04-15 04:54:26.210 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response:<status:200 payload:"OK" >
cli    | 2018-04-15 04:54:26.211 UTC [main] main -> INFO 00e Exiting.....
cli    | ===================== Chaincode is installed on remote peer PEER2 =====================
cli    |
cli    | Instantiating chaincode on org1/peer0...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:26.252 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:26.252 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:26.255 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:26.255 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:26.256 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A90070A6608031A0B0882B6CBD60510...324D53500A04657363630A0476736363
cli    | 2018-04-15 04:54:26.256 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: B469045FFCB3B68A614DD845C483B33F67F0879FBF6D0D46BE39AEE8581919A8
cli    | 2018-04-15 04:54:26.693 UTC [msp/identity] Sign -> DEBU 007 Sign: plaintext: 0A90070A6608031A0B0882B6CBD60510...D94CDA0BBC568F20625EA86227A11815
cli    | 2018-04-15 04:54:26.693 UTC [msp/identity] Sign -> DEBU 008 Sign: digest: 9F4D8490CF9B530DBB6547B567D63805E0698B9175704C4079CED0B4335C916F
cli    | 2018-04-15 04:54:26.695 UTC [main] main -> INFO 009 Exiting.....
cli    | ===================== Chaincode Instantiation on PEER0 on channel 'mychannel' is successful =====================
cli    |
cli    | Querying chaincode on org1/peer0...
cli    | ===================== Querying on PEER0 on channel 'mychannel'... =====================
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | Attempting to Query PEER0 ...3 secs
cli    |
cli    | 2018-04-15 04:54:29.738 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:29.738 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:29.738 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:29.738 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:29.738 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A91070A6708031A0C0885B6CBD60510...6D7963631A0A0A0571756572790A0161
cli    | 2018-04-15 04:54:29.738 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: AD98FA6F81E2C7A303D2229E78401CCF6570AF0880488718B293B94375E23D58
cli    | Query Result: 100
cli    | 2018-04-15 04:54:29.748 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== Query on PEER0 on channel 'mychannel' is successful =====================
cli    | Sending invoke transaction on org2/peer0...
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:29.796 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:29.796 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:29.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:29.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:29.799 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A95070A6708031A0C0885B6CBD60510...696E766F6B650A01610A01620A023130
cli    | 2018-04-15 04:54:29.799 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: 0F5290BBE1520FF900525296EAE67F7548780607BE0C94700BDE5D3A58B76ADA
cli    | 2018-04-15 04:54:43.202 UTC [msp/identity] Sign -> DEBU 007 Sign: plaintext: 0A95070A6708031A0C0885B6CBD60510...B67A5E10A7E8D9D20E854DE0D41E5EF0
cli    | 2018-04-15 04:54:43.202 UTC [msp/identity] Sign -> DEBU 008 Sign: digest: 11ACDC8EE6668208EF9FA6DD9AE386D6F51F8E26286C798A56A841CE60695730
cli    | 2018-04-15 04:54:43.206 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> DEBU 009 ESCC invoke result: version:1 response:<status:200 message:"OK" > payload:"\n \235K\027\377\035R\201\321\246A\026\nB\2619.\037\245dF!\256\251\177\022\007\311P\024\231\277\241\022Y\nE\022\024\n\004lscc\022\014\n\n\n\004mycc\022\002\010\003\022-\n\004mycc\022%\n\007\n\001a\022\002\010\003\n\007\n\001b\022\002\010\003\032\007\n\001a\032\00290\032\010\n\001b\032\003210\032\003\010\310\001\"\013\022\004mycc\032\0031.0" endorsement:<endorser:"\n\007Org2MSP\022\374\005-----BEGIN -----\nMIICGDCCAb+gAwIBAgIQVIIUxY5px23H2+U5gqpCcDAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\nb3JnMi5leGFtcGxlLmNvbTAeFw0xODA0MTEwNzIyNDdaFw0yODA0MDgwNzIyNDda\nMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcyLmV4YW1wbGUuY29tMFkw\nEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj6gKic5DjQtGFw2vFtsuuduqBAC3BZVJ\n2bjaXVqChKcdnADz4uGRWpS8mc8jrelu3m+rAM/GbUFYCdI6jgs9baNNMEswDgYD\nVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg0GJTe6aB/tHw\npa2fKR8KM0bGpUduZBscxVlSb/pnW2IwCgYIKoZIzj0EAwIDRwAwRAIgYSx3kmsp\nNHT3+niE/gc8cBcgDlGtHdhzUEeDto6CzhsCIGXm+Jjqrr8PcHwkmMgRlTyW09q9\ndMV9dcJZr1mJEiUk\n-----END -----\n" signature:"0D\002 >H;\204\006\304f\304^l3.c\333n\370:B./\276\213\276\306\211\332\3137\014?\267(\002 K\333G\212\377\235\215\334W\n\330\206F\252K\345\266z^\020\247\350\331\322\016\205M\340\324\036^\360" >
cli    | 2018-04-15 04:54:43.206 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 00a Chaincode invoke successful. result: status:200
cli    | 2018-04-15 04:54:43.206 UTC [main] main -> INFO 00b Exiting.....
cli    | ===================== Invoke transaction on PEER2 on channel 'mychannel' is successful =====================
cli    |
cli    | Querying chaincode on org2/peer0...
cli    | ===================== Querying on PEER2 on channel 'mychannel'... =====================
cli    | 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
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | Attempting to Query PEER2 ...3 secs
cli    |
cli    | 2018-04-15 04:54:46.249 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:46.249 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:46.249 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:46.249 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:46.249 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A94070A6608031A0B0896B6CBD60510...6D7963631A0A0A0571756572790A0161
cli    | 2018-04-15 04:54:46.250 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: 27EC67C5F67BB02306325EC6444D422A4E2EA8095F2BCB01D3E2A5AB23FA7271
cli    | Query Result: 90
cli    | 2018-04-15 04:54:46.257 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== Query on PEER2 on channel 'mychannel' is successful =====================
cli    |
cli    | ===================== All GOOD, End-2-End execution completed =====================
cli    |
cli    |
cli    |  _____   _   _   ____            _____   ____    _____
cli    | | ____| | \ | | |  _ \          | ____| |___ \  | ____|
cli    | |  _|   |  \| | | | | |  _____  |  _|     __) | |  _|
cli    | | |___  | |\  | | |_| | |_____| | |___   / __/  | |___
cli    | |_____| |_| \_| |____/          |_____| |_____| |_____|
cli    |
cli    | sleep: missing operand
cli    | Try 'sleep --help' for more information.
cli exited with code 1

Hyperledger Fabric 1.0 公有云安装7--集群部署记录相关推荐

  1. Hyperledger Fabric 1.0 公有云安装6--集群部署之坑

    使用了三台VPC,都是Ubuntu 16.04 LTS版 名称    ip 节点 hostname orgnazation s1 172.21.0.5 orderer orderer.example. ...

  2. elasticsearch2.3安装以及集群部署

    摘要: elasticsearch安装以及集群部署 一.下载 1.1安装elasticsearch-2.3.3要求是安装官方新版的Java,必须是JDK 1.7以上,1.7以下执行的时候会报以下错误. ...

  3. Redis安装及集群部署

    文章目录 一.redis编译安装 二 .redis主从复制 三. redis哨兵模式 1.配置sentinel 2 开启哨兵模式 3 观察效果 四. redis的集群cluster 1. 集群构建 1 ...

  4. Linux中级实战专题篇:rabbitmq(消息中间件p2p模式和pub模式,消息队列rabbitmq详解,单机安装,集群部署以及配置实战)

    一.消息中间件相关概念 1.简介 消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台相关 的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息 队列模型,可以在分布 ...

  5. K8S集群搭建:安装kubeadm集群部署工具

    将镜像包上传至服务器每个节点 mkdir /usr/local/k8s-install cd /usr/local/k8s-install XFTP上传安装文件 每个CentOS上安装Docker 使 ...

  6. Hadoop3.3.4最新版本安装分布式集群部署

    Index of /dist/hadoop/commonhttps://archive.apache.org/dist/hadoop/common 集群规划: 注意: NameNode和Seconda ...

  7. elasticsearch 8.3版本安装和集群部署

    我跟着一些网页教程提示部署我的集群,发现我集群里面的服务器互相看不到,于是咨询了我的老师,加上自己的实验终于成功了.因为之前网上找的参数和我的版本没对上,导致起不来,我这个集群服务器版本是8.3.1 ...

  8. HyperLedger FabricV2.3 Raft单机集群部署

    目录 云主机配置 依赖环境配置 部署步骤 0.更新yum 1.安装golang 2.安装docker 3. 安装docker-compose 4. 安装git 5. 安装java 6. 防火墙配置 7 ...

  9. Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署

    6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节 ...

  10. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用

    Hyperledger Fabric 1.0 从零开始(十)--智能合约(参阅:Hyperledger Fabric Chaincode for Operators--实操智能合约) Hyperled ...

最新文章

  1. 利用curl下载文件(进度条显示) 代码片段
  2. CUDA程序性能调优
  3. forms身份验证 不跳转_Django用户身份验证实战
  4. 转移 MariaDB
  5. 你确定不反编译 likely 看看?
  6. 容器编排技术 -- 使用Minikube在Kubernetes中运行应用
  7. 软件设计原则及设计模式
  8. Extjs6(六)——增删查改之查询
  9. Python – numpy.arange()
  10. A Detailed Explanation of the Detection and Processing of BigKey and HotKey in Redis
  11. win98模拟器_安利一款安卓win98模拟小游戏
  12. 局域网监控软件:让员工上网行为规范形成自觉
  13. Deepin下安装日文输入法
  14. The JSP specification requires that an attribute name is preceded by whitespace 解决
  15. jira 饼图中文乱码 显示“口口口”
  16. jy-11-AJAX--承租红+成恒
  17. 中国新零售行业运营效益与创新发展模式咨询报告2022版
  18. 视频智能运维大单-金昌市公共安全视频监控建设联网应用项目8938万元招标
  19. 2022年建筑电工(建筑特殊工种)免费试题及建筑电工(建筑特殊工种)证考试
  20. (尚硅谷)JavaWeb新版教程09-QQZone项目总结

热门文章

  1. 集腋成裘-15-MongoDB系列-02Find详细
  2. 海风教育荣获第七届中国财经峰会最具成长价值奖
  3. 使用命令行修复windows系统
  4. PAT甲级刷题计划-高精度
  5. 18个高效使用Google搜索的技巧
  6. 数学猜想验证步骤_小学数学思维之猜想验证法
  7. quarkxpress是什么软件? | QuarkXPress 2021(专业排版设计软件)官方中文版V17.0.1 | 排版设计用什么软件?
  8. html编辑唐诗的格式,古诗竖着写的格式
  9. Menhera酱全套表情包
  10. 论文参考文献尾注引用方法