因为资源有限,决定在云上使用三台虚机,搭建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.yaml
service: orderer.example.com
container_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.com
image: hyperledger/fabric-orderer
environment:
- 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/fabric
command: orderer
volumes:
- ../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/tls
ports:
- 7050:7050
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org1MSP
volumes:
- /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/tls
ports:
- 7051:7051
- 7052:7052
- 7053:7053
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org2MSP
volumes:
- /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/tls
ports:
- 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.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org1.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"
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: cli
image: hyperledger/fabric-tools
tty: true
environment:
- 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/[email protected]/msp
working_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-artifacts
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"
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: cli
image: hyperledger/fabric-tools
tty: true
environment:
- 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/[email protected]/msp
- CHANNEL_NAME=mychannel
working_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-artifacts
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"
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.com
image: hyperledger/fabric-orderer
environment:
- 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/fabric
command: orderer
volumes:
- ../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/tls
ports:
- 7050:7050
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org1MSP
volumes:
- /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/tls
ports:
- 7051:7051
- 7052:7052
- 7053:7053
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org2MSP
volumes:
- /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/tls
ports:
- 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-peer
environment:
- 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.crt
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: 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: cli
image: hyperledger/fabric-tools
tty: true
environment:
- 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/[email protected]/msp
working_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-artifacts
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"
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.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org2.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"
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: cli
image: hyperledger/fabric-tools
tty: true
environment:
- 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/[email protected]/msp
working_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-artifacts
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"
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: cli
image: hyperledger/fabric-tools
tty: true
environment:
- 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/[email protected]/msp
working_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-artifacts
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"
还是要注意修改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.com
image: hyperledger/fabric-orderer
environment:
- 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/fabric
command: orderer
volumes:
- ../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/tls
ports:
- 7050:7050
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org1MSP
volumes:
- /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/tls
ports:
- 7051:7051
- 7052:7052
- 7053:7053
peer1.org1.example.com:
container_name: peer1.org1.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org1MSP
volumes:
- /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/tls
ports:
- 7051:7051
- 7052:7052
- 7053:7053
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org2MSP
volumes:
- /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/tls
ports:
- 7051:7051
- 7052:7052
- 7053:7053
peer1.org2.example.com:
container_name: peer1.org2.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- 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=Org2MSP
volumes:
- /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/tls
ports:
- 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-peer
environment:
- 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.crt
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: 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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/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:
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/[email protected]/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:
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/[email protected]/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/[email protected]/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/[email protected]/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: 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: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/[email protected]/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