根据自己的超级账本结构构建业务网络.bna

时间:2019-01-18 11:44:58

标签: hyperledger-fabric hyperledger hyperledger-composer

我正在建立一个超级账本结构网络,该网络包含4个组织,每个组织具有2个Peers和couchdb实例,4个CA服务器和一个订购者。我已经修改了BYFN-Tutorial并扩展了给定的yaml文件。网络可以完美启动,并能够通过提供的Chaincode示例运行e2e测试。现在我想基于我的connectionProfile.json设置一个.bna文件:

  1. 我创建一个新的AdminPeerCard->有效
  2. 将卡导入作曲家->有效
  3. 尝试生成.bna作曲家档案-创建->作品
  4. 安装.bna并启动网络->正常运行
  5. 计算机网络Ping->错误

错误:尝试ping错误。错误:2未知:访问被拒绝:频道[mychannel]创建者单位[Org1MSP] 命令失败

当我尝试通过Hyperledger Playground连接时出现相同的问题

我的问题:这是用4个组织初始化区块链的推荐方法吗?

操作系统:Ubuntu 16.04 TLS 作曲者版本:v0.20.5 高:1.4 码头工人:18.06

禁用TLS以假装握手错误。

这是docker-compose-e2e.yaml文件:

     version: '2'
     volumes:
       orderer.example.com:
       peer0.org1.example.com:
       peer1.org1.example.com:
       peer0.org2.example.com:
       peer1.org2.example.com:
       peer0.org3.example.com:
       peer1.org3.example.com:
       peer0.org4.example.com:
       peer1.org4.example.com:

     networks:
       byfn:
     services:

       orderer.example.com:
         extends:
           file:   base/docker-compose-base.yaml
           service: orderer.example.com
         container_name: orderer.example.com
         networks:
           - byfn

       peer0.org1.example.com:
         container_name: peer0.org1.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org1.example.com
         networks:
           - byfn

       peer1.org1.example.com:
         container_name: peer1.org1.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org1.example.com
         networks:
           - byfn

       peer0.org2.example.com:
         container_name: peer0.org2.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org2.example.com
         networks:
           - byfn

       peer1.org2.example.com:
         container_name: peer1.org2.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org2.example.com
         networks:
           - byfn

       peer0.org3.example.com:
         container_name: peer0.org3.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org3.example.com
         networks:
           - byfn

       peer1.org3.example.com:
         container_name: peer1.org3.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org3.example.com
         networks:
           - byfn

       peer0.org4.example.com:
         container_name: peer0.org4.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org4.example.com
         networks:
           - byfn

       peer1.org4.example.com:
         container_name: peer1.org4.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org4.example.com
         networks:
           - byfn

这是我的docker-compose-cli.yaml:

   version: '2'

     volumes:
       orderer.example.com:
       peer0.org1.example.com:
       peer1.org1.example.com:
       peer0.org2.example.com:
       peer1.org2.example.com:
       peer0.org3.example.com:
       peer1.org3.example.com:
       peer0.org4.example.com:
       peer1.org4.example.com:


     networks:
       byfn:

     services:


       ca.org1.example.com:
         extends:
           file: base/docker-compose-base.yaml
           service: ca.org1.example.com
         container_name: ca.org1.example.com
         networks: 
           - byfn

       ca.org2.example.com:
         extends:
           file: base/docker-compose-base.yaml
           service: ca.org2.example.com
         container_name: ca.org2.example.com
         networks: 
           - byfn

       ca.org3.example.com:
         extends:
           file: base/docker-compose-base.yaml
           service: ca.org3.example.com
         container_name: ca.org3.example.com
         networks: 
           - byfn

       ca.org4.example.com:
         extends:
           file: base/docker-compose-base.yaml
           service: ca.org4.example.com
         container_name: ca.org4.example.com
         networks: 
           - byfn


       orderer.example.com:
         extends:
           file:   base/docker-compose-base.yaml
           service: orderer.example.com
         container_name: orderer.example.com
         networks:
           - byfn

       peer0.org1.example.com:
         container_name: peer0.org1.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org1.example.com
         networks:
           - byfn

       peer1.org1.example.com:
         container_name: peer1.org1.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org1.example.com
         networks:
           - byfn

       peer0.org2.example.com:
         container_name: peer0.org2.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org2.example.com
         networks:
           - byfn

       peer1.org2.example.com:
         container_name: peer1.org2.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org2.example.com
         networks:
           - byfn

       peer0.org3.example.com:
         container_name: peer0.org3.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org3.example.com
         networks:
           - byfn

       peer1.org3.example.com:
         container_name: peer1.org3.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org3.example.com
         networks:
           - byfn

       peer0.org4.example.com:
         container_name: peer0.org4.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer0.org4.example.com
         networks:
           - byfn

       peer1.org4.example.com:
         container_name: peer1.org4.example.com
         extends:
           file:  base/docker-compose-base.yaml
           service: peer1.org4.example.com
         networks:
           - byfn

       cli:
         container_name: cli
         image: hyperledger/fabric-tools:$IMAGE_TAG
         tty: true
         stdin_open: true
         environment:
           - GOPATH=/opt/gopath
           - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
           #- FABRIC_LOGGING_SPEC=DEBUG
           - FABRIC_LOGGING_SPEC=INFO
           - CORE_PEER_ID=cli
           - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
           - CORE_PEER_LOCALMSPID=Org1MSP
           - CORE_PEER_TLS_ENABLED=false
         #  - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
         # - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
         #  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
           - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
         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
             - ./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.example.com
           - peer0.org1.example.com
           - peer1.org1.example.com
           - peer0.org2.example.com
           - peer1.org2.example.com
           - peer0.org3.example.com
           - peer1.org3.example.com
           - peer0.org4.example.com
           - peer1.org4.example.com

         networks:
           - byfn

这是我的docker-composerbase.yaml:

    version: '2'

services:

  ca.org1.example.com:
    image: hyperledger/fabric-ca:amd64-1.4.0-rc2 
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.org1.example.com
    #  - FABRIC_CA_SERVER_TLS_ENABLED=true
    #  - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
    #  - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA1_PRIVATE_KEY
    #  - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/*_sk
    ports:
      - "7054:7054"
    #command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA1_PRIVATE_KEY -b admin:adminpw -d'
    #command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/*_sk -b admin:adminpw -d'
    command: sh -c 'fabric-ca-server start -b admin:adminpw'
    volumes:
      - ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.org1.example.com
    networks:
      - byfn

  ca.org2.example.com:
    image: hyperledger/fabric-ca:amd64-1.4.0-rc2 
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.org2.example.com
    #  - FABRIC_CA_SERVER_TLS_ENABLED=true
    #  - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
    #  - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA2_PRIVATE_KEY
    ports:
      - "8054:7054"
    #command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA2_PRIVATE_KEY -b admin:adminpw -d'
    command: sh -c 'fabric-ca-server start -b admin:adminpw'
    volumes:
      - ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.org2.example.com
    networks:
      - byfn

  ca.org3.example.com:
    image: hyperledger/fabric-ca:amd64-1.4.0-rc2 
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.org3.example.com
    #  - FABRIC_CA_SERVER_TLS_ENABLED=true
    #  - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org3.example.com-cert.pem
    #  - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA3_PRIVATE_KEY
    ports:
      - "9054:7054"
    #command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org3.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA3_PRIVATE_KEY -b admin:adminpw -d'
    command: sh -c 'fabric-ca-server start -b admin:adminpw'
    volumes:
      - ./crypto-config/peerOrganizations/org3.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.org3.example.com
    networks:
      - byfn

  ca.org4.example.com:
    image: hyperledger/fabric-ca:amd64-1.4.0-rc2 
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.org4.example.com
    #  - FABRIC_CA_SERVER_TLS_ENABLED=true
    #  - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org4.example.com-cert.pem
    #  - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA4_PRIVATE_KEY
    ports:
      - "10054:7054"
    #command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org4.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA4_PRIVATE_KEY -b admin:adminpw -d'
    command: sh -c 'fabric-ca-server start -b admin:adminpw'
    volumes:
      - ./crypto-config/peerOrganizations/org4.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.org4.example.com
    networks:
      - byfn



  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer:$IMAGE_TAG
    environment:
      - FABRIC_LOGGING_SPEC=debug
      - 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=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]
    #  - ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
    #  - ORDERER_KAFKA_VERBOSE=true
    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
    - orderer.example.com:/var/hyperledger/production/orderer
    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_GOSSIP_BOOTSTRAP=peer1.org1.example.com:7051
      - 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
        - peer0.org1.example.com:/var/hyperledger/production
    ports:
      - 7051:7051
      - 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_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
        - peer1.org1.example.com:/var/hyperledger/production
    ports:
      - 8051:7051
      - 8053: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_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.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
        - peer0.org2.example.com:/var/hyperledger/production
    ports:
      - 9051:7051
      - 9053: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_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
        - peer1.org2.example.com:/var/hyperledger/production
    ports:
      - 10051:7051
      - 10053:7053



  peer0.org3.example.com:
    container_name: peer0.org3.example.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.org3.example.com
      - CORE_PEER_ADDRESS=peer0.org3.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org3.example.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:7051
      - CORE_PEER_LOCALMSPID=Org3MSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls:/etc/hyperledger/fabric/tls
        - peer0.org3.example.com:/var/hyperledger/production
    ports:
      - 11051:7051
      - 11053:7053

  peer1.org3.example.com:
    container_name: peer1.org3.example.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org3.example.com
      - CORE_PEER_ADDRESS=peer1.org3.example.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org3.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org3.example.com:7051
      - CORE_PEER_LOCALMSPID=Org3MSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org3.example.com/peers/peer1.org3.example.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org3.example.com/peers/peer1.org3.example.com/tls:/etc/hyperledger/fabric/tls
        - peer1.org3.example.com:/var/hyperledger/production

这是我的peer-base.yaml:

    version: '2'

    services:
      peer-base:
        image: hyperledger/fabric-peer:$IMAGE_TAG
        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=${COMPOSE_PROJECT_NAME}_byfn
          #- FABRIC_LOGGING_SPEC=INFO
          - FABRIC_LOGGING_SPEC=DEBUG
          - 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

这是我的connectionProfile.json:

{
    "name": "byfn-network",
    "x-type": "hlfv1",
    "x-commitTimeout": 1200,
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "1200",
                    "eventHub": "1200",
                    "eventReg": "1200"
                },
                "orderer": "1200"
            }
        }
    },
    "channels": {
        "mychannel": {
            "orderers": [
                "orderer.example.com"
            ],
            "peers": {
                "peer0.org1.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer1.org1.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer0.org2.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer1.org2.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer0.org3.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer1.org3.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer0.org4.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                },
                "peer1.org4.example.com": {
                    "endorsingPeer": true,
                    "chaincodeQuery": true,
                    "eventSource": true
                }
            }
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1.example.com",
                "peer1.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.org1.example.com"
            ]
        },
        "Org2": {
            "mspid": "Org2MSP",
            "peers": [
                "peer0.org2.example.com",
                "peer1.org2.example.com"
            ],
            "certificateAuthorities": [
                "ca.org2.example.com"
            ]
        },
        "Org3": {
            "mspid": "Org3MSP",
            "peers": [
                "peer0.org3.example.com",
                "peer1.org3.example.com"
            ],
            "certificateAuthorities": [
                "ca.org3.example.com"
            ]
        },
        "Org4": {
            "mspid": "Org4MSP",
            "peers": [
                "peer0.org4.example.com",
                "peer1.org4.example.com"
            ],
            "certificateAuthorities": [
                "ca.org4.example.com"
            ]
        }
    },
    "orderers": {
        "orderer.example.com": {
            "url": "grpc://localhost:7050"
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpc://localhost:7051",
            "eventUrl": "grpc://localhost:7053"
        },
        "peer1.org1.example.com": {
            "url": "grpc://localhost:8051",
            "eventUrl": "grpc://localhost:8053"
        },
        "peer0.org2.example.com": {
            "url": "grpc://localhost:9051",
            "eventUrl": "grpc://localhost:9053"
        },
        "peer1.org2.example.com": {
            "url": "grpc://localhost:10051",
            "eventUrl": "grpc://localhost:10053"
        },
        "peer0.org3.example.com": {
            "url": "grpc://localhost:11051",
            "eventUrl": "grpc://localhost:11053"
        },
        "peer1.org3.example.com": {
            "url": "grpc://localhost:12051",
            "eventUrl": "grpc://localhost:12053"
        },
        "peer0.org4.example.com": {
            "url": "grpc://localhost:13051",
            "eventUrl": "grpc://localhost:13053"
        },
        "peer1.org4.example.com": {
            "url": "grpc://localhost:14051",
            "eventUrl": "grpc://localhost:14053"
        }
    },
    "certificateAuthorities": {
        "ca.org1.example.com": {
            "url": "http://localhost:7054",
            "caName": "ca.org1.example.com",
            "httpOptions": {
                "verify": false
            }
        },
        "ca.org2.example.com": {
            "url": "http://localhost:8054",
            "caName": "ca.org2.example.com",
            "httpOptions": {
                "verify": false
            }
        },
        "ca.org3.example.com": {
            "url": "http://localhost:9054",
            "caName": "ca.org3.example.com",
            "httpOptions": {
                "verify": false
            }
        },
        "ca.org4.example.com": {
            "url": "http://localhost:10054",
            "caName": "ca.org4.example.com",
            "httpOptions": {
                "verify": false
            }
        }
    }
}

预期结果: -使用我的网络定义创建.bna(4个组织,8个对等方) -启动Rest-Server通过Web接口与区块链进行交互

0 个答案:

没有答案