Docker Hyperledger结构:在“上”启动链码时超时;对等链码实例化";命令

Docker Hyperledger结构:在“上”启动链码时超时;对等链码实例化";命令,docker,docker-compose,hyperledger-fabric,blockchain,hyperledger,Docker,Docker Compose,Hyperledger Fabric,Blockchain,Hyperledger,我试图使用“对等链码实例化”命令(如下所示)实例化已安装的链码。执行命令时,我收到以下错误消息: 实例化链码的命令: peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/ord

我试图使用“对等链码实例化”命令(如下所示)实例化已安装的链码。执行命令时,我收到以下错误消息:

实例化链码的命令:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
收到错误消息:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
我试图通过在“peer-base.yaml文件”中添加以下属性来纠正此问题

尽管如此,我仍然收到这个特别的错误

以下是我的docker容器配置:

peer-base.yaml文件:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
cli“docker compose cli.yaml”文件中的容器配置:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
docker compose base.yaml文件中的对等配置:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
在“docker compose base.yaml”文件中的订购方配置:

peer chaincode instantiate -o orderer.proofofownership.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp/tlscacerts/tlsca.proofofownership.com-cert.pem -C dmanddis -n CreateDiamond -v 1.0 -c '{"Args":[]}' -P "OR ('DiamondManufacturerMSP.peer','DistributorMSP.peer')"
Error: Error endorsing chaincode: rpc error: code = Unknown desc = timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:1a96ecc8763e214ee543ecefe214df6025f8e98f2449f2b7877d04655ddadb49)
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
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=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_TLS_ENABLED=true
  - CORE_CHAINCODE_EXECUTETIMEOUT=300s
  - CORE_CHAINCODE_DEPLOYTIMEOUT=300s
  #- CORE_PEER_TLS_ENABLED=false
  - 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
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.1.0
tty: true
stdin_open: true
environment:
  - GOPATH=/opt/gopath
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_LOGGING_LEVEL=DEBUG
  #- CORE_LOGGING_LEVEL=INFO
  - CORE_PEER_ID=cli
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_TLS_ENABLED=true
  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.crt
  - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/server.key
  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
    - /var/run/:/host/var/run/
    #- ./../chaincode/:/opt/gopath/src/github.com/chaincode
    #- ./chaincode/CreateDiamond/go:/opt/gopath/src/github.com/chaincode/
    - ./chaincode/CreateDiamond:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/
    - ./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
depends_on:
  - orderer.proofofownership.com
  - peer0.dm.proofofownership.com
  - peer1.dm.proofofownership.com 
  - peer0.dist.proofofownership.com
  - peer1.dist.proofofownership.com
#network_mode: host
networks:
  - pow
peer0.dm.proofofownership.com:
container_name: peer0.dm.proofofownership.com
extends:
  file: peer-base.yaml
  service: peer-base
environment:
  - CORE_PEER_ID=peer0.dm.proofofownership.com
  #- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  #- CORE_PEER_MSPCONFIGPATH=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/users/Admin@dm.proofofownership.com/msp
  - CORE_PEER_ADDRESS=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.dm.proofofownership.com:7051
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.dm.proofofownership.com:7051
  - CORE_PEER_LOCALMSPID=DiamondManufacturerMSP
  - CORE_PEER_CHAINCODELISTENADDRESS=peer0.dm.proofofownership.com:7052
  #- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
  #- CORE_PEER_TLS_ROOTCERT_FILE=/home/john/Proof-Of-Ownership/crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls/ca.crt
volumes:
    - /var/run/:/host/var/run/
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/msp:/etc/hyperledger/fabric/msp
    - ../crypto-config/peerOrganizations/dm.proofofownership.com/peers/peer0.dm.proofofownership.com/tls:/etc/hyperledger/fabric/tls
    - peer0.dm.proofofownership.com:/var/hyperledger/production
ports:
  - 7051:7051
  - 7053:7053
orderer.proofofownership.com:
container_name: orderer.proofofownership.com
image: hyperledger/fabric-orderer:x86_64-1.1.0
environment:
  # CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE Newly Added
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=proof_of_ownership_pow
  #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=pow
  - 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_GENESISFILE=/var/hyperledger/orderer/genesis.block
  - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
  - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
  # enabled TLS
  - ORDERER_GENERAL_TLS_ENABLED=true
  #- ORDERER_GENERAL_TLS_ENABLED=false
  - 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]
  # New Addition
  - CONFIGTX_ORDERER_ORDERERTYPE=solo
  - CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=10
  - CONFIGTX_ORDERER_BATCHTIMEOUT=2s
  - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]
#working_dir: /opt/gopath/src/github.com/hyperledger/fabric
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/proofofownership.com/orderers/orderer.proofofownership.com/tls/:/var/hyperledger/orderer/tls
- orderer.proofofownership.com:/var/hyperledger/production/orderer
ports:
  - 7050:7050
我还查看了同行的docker容器日志(使用docker日志),并收到以下日志:

Launch -> ERRO 3eb launchAndWaitForRegister failed: timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:cc34a20176d7f09e1537b039f3340450e08f6447bf16965324655e72a2a58623)
2018-08-01 12:59:08.739 UTC [endorser] simulateProposal -> ERRO 3ed [dmanddis][cc34a201] failed to invoke chaincode name:"lscc" , error: timeout expired while starting chaincode CreateDiamond:1.0(networkid:dev,peerid:peer0.dm.proofofownership.com,tx:cc34a20176d7f09e1537b039f3340450e08f6447bf16965324655e72a2a58623) 
安装chaincode时收到以下日志:

2018-08-03 09:44:55.822 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
2018-08-03 09:44:55.822 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
2018-08-03 09:44:55.822 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
2018-08-03 09:44:55.822 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
2018-08-03 09:44:55.822 UTC [chaincodeCmd] getChaincodeSpec -> DEBU 005 java chaincode disabled
2018-08-03 09:44:58.270 UTC [golang-platform] getCodeFromFS -> DEBU 006 getCodeFromFS github.com/hyperledger/fabric/peer/chaincode
2018-08-03 09:45:02.089 UTC [golang-platform] func1 -> DEBU 007 Discarding GOROOT package bytes
2018-08-03 09:45:02.089 UTC [golang-platform] func1 -> DEBU 008 Discarding GOROOT package encoding/json
2018-08-03 09:45:02.089 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package fmt
2018-08-03 09:45:02.090 UTC [golang-platform] func1 -> DEBU 00a Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim
2018-08-03 09:45:02.090 UTC [golang-platform] func1 -> DEBU 00b Discarding provided package github.com/hyperledger/fabric/protos/peer
2018-08-03 09:45:02.090 UTC [golang-platform] func1 -> DEBU 00c Discarding GOROOT package strconv
2018-08-03 09:45:02.090 UTC [golang-platform] func1 -> DEBU 00d skipping dir: /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/go
2018-08-03 09:45:02.090 UTC [golang-platform] GetDeploymentPayload -> DEBU 00e done
2018-08-03 09:45:02.090 UTC [container] WriteFileToPackage -> DEBU 00f Writing file to tarball: src/github.com/hyperledger/fabric/peer/chaincode/CreateDiamond.go
2018-08-03 09:45:02.122 UTC [msp/identity] Sign -> DEBU 010 Sign: plaintext: 0AE3070A5B08031A0B089EC890DB0510...EC7BFE1B0000FFFFEE433C37001C0000
2018-08-03 09:45:02.122 UTC [msp/identity] Sign -> DEBU 011 Sign: digest: E5160DE95DB096379967D959FA71E692F098983F443378600943EA5D7265A82C 
2018-08-03 09:45:02.230 UTC [chaincodeCmd] install -> DEBU 012 Installed remotely response:<status:200 payload:"OK" >
2018-08-03 09:45:02.230 UTC [main] main -> INFO 013 Exiting..... 
2018-08-03 09:44:55.822 UTC[msp]GetLocalMSP->DEBU 001返回现有本地msp
2018-08-03 09:44:55.822 UTC[msp]GetDefaultSigningIdentity->DEBU 002获取默认签名身份
2018-08-03 09:44:55.822 UTC[chaincodeCmd]使用默认escc检查ChainCodecMDParams->INFO 003
2018-08-03 09:44:55.822 UTC[chaincodeCmd]使用默认vscc检查ChainCodecMDParams->INFO 004
2018-08-03 09:44:55.822 UTC[chaincodeCmd]getChaincodeSpec->DEB 005 java链码已禁用
2018-08-03 09:44:58.270 UTC[golang platform]getCodeFromFS->DEBU 006 getCodeFromFS github.com/hyperledger/fabric/peer/chaincode
2018-08-03 09:45:02.089 UTC[golang platform]func1->DEBU 007丢弃GOROOT包字节
2018-08-03 09:45:02.089 UTC[golang platform]func1->DEBU 008放弃GOROOT包编码/json
2018-08-03 09:45:02.089 UTC[golang platform]func1->DEBU 009丢弃GOROOT包fmt
2018-08-03 09:45:02.090 UTC[golang platform]func1->DEBU 00a丢弃提供的包github.com/hyperledger/fabric/core/chaincode/shim
2018-08-03 09:45:02.090 UTC[golang platform]func1->DEBU 00b丢弃提供的包github.com/hyperledger/fabric/protos/peer
2018-08-03 09:45:02.090 UTC[golang platform]func1->DEBU 00c丢弃GOROOT包装strconv
2018-08-03 09:45:02.090 UTC[golang platform]func1->DEBU 00d跳过目录:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/go
2018-08-03 09:45:02.090 UTC[golang platform]GetDeploymentPayload->DEBU 00e完成
2018-08-03 09:45:02.090 UTC[container]WriteFileToPackage->DEBU 00f将文件写入tarball:src/github.com/hyperledger/fabric/peer/chaincode/CreateDiamond.go
2018-08-03 09:45:02.122 UTC[msp/identity]标志->德布010标志:明文:0AE3070A5B08031A0B089EC890DB0510…EC7BFE1B00000FFFE433C7001C0000
2018-08-03 09:45:02.122 UTC[msp/identity]标志->德布011标志:摘要:E5160DE95DB096379967D959FA71E692F0983F443378600943EA5D7265A82C
2018-08-03 09:45:02.230 UTC[chaincodeCmd]安装->DEB 012远程安装响应:
2018-08-03 09:45:02.230 UTC[主要]主要->信息013退出。。。。。

您的链码很可能在启动时失败。您可能希望尝试使用开发模式教程方法来调试链代码。链码进程可能失败。通过在容器中执行,您可以查看日志,查看哪些日志可能不适合您


devmode教程是。您只需用自己的链码替换教程的链码。

在对等配置中,您为链码端点指定了与对等地址不同的端口(链码端点端口7052,端口7051上的对等地址):

但是这个端口没有暴露。请将此添加到对等端口配置中:

- 7052:7052

“链码安装”工作正常吗?你也可以发送订购者配置吗?@PhilippeLabalette是的,我可以毫无问题地安装链码。我已经编辑了这篇文章,并在docker-compose-base.yaml文件中添加了订购方配置,以及安装链码后的日志。您是否找到了解决问题的方法?您也可以尝试评论这行:CORE\u PEER\u CHAINCODELISTENADDRESS=peer0.dm.proofownership.com:7052