Идентификатор запроса Composer с другого хост-компьютера

Я следую этому руководству с изменениями, внесенными для добавления организации с другого хост-компьютера. https://medium.com/@mahoney_33893/hyperledger-composer-adding-another-organization-to-an-existing-running-multi-organization-fff5c8104a82

Я пытаюсь добавить новую организацию к существующему каналу с другого хоста (скажем, Org3). Мне удалось присоединить однорангового узла org3 к каналу. У меня работает CA для org3.

Затем я создал и импортировал карту PeerAdmin, используя измененный профиль подключения.

Однако, когда я запустил запрос идентификации композитора, я получил сообщение об ошибке Ошибка: не удалось запросить идентификацию. Ошибка при попытке зарегистрировать пользователя и вернуть сертификаты. Ошибка: регистрация не удалась из-за ошибок [[{"code": 19, "message": "CA 'ca.org1.example.com' не существует"}]]. Обратите внимание, что порт, на котором работает мой CA для org1, открыт.

Затем я попытался получить журналы из моего CA в org3, но обнаружил, что (POST / api / v1 / enroll 404 19 "CA 'ca.org1.example.com' не существует). Почему моему CA из org3 нужно общаться с ca от org1? также почему он говорит, что мой ca от org1 не существует, когда он на самом деле запущен и работает? Любая помощь очень ценится

В настоящее время используется композитор гиперссылок, ткань Hyperledger v 1.2.1. В настоящее время TLS не используется.

{
"name": "hlfv1",
"x-type": "hlfv1",
"x-commitTimeout": 300,
"version": "1.0.0",
"client": {
    "organization": "Org3",
    "connection": {
        "timeout": {
            "peer": {
                "endorser": "300",
                "eventHub": "300",
                "eventReg": "300"
            },
            "orderer": "300"
        }
    }
},
"channels": {
    "composerchannel": {
        "orderers": [
            "orderer.example.com"
        ],
        "peers": {
            "peer0.org1.example.com": {},
            "peer0.org3.example.com":{}
        }
    }
},
"organizations": {
    "Org1": {
        "mspid": "Org1MSP",
        "peers": [
            "peer0.org1.example.com"
        ],
        "certificateAuthorities": [
            "ca.org1.example.com"
        ]
    },
    "Org3":{
        "mspid": "Org3MSP",
        "peers": [
            "peer0.org3.example.com"
        ],
        "certificateAuthorities": [
            "ca.org3.example.com"
        ]
    }
},
"orderers": {
    "orderer.example.com": {
        "url": "grpc://{{hostmachineurl}}:7050"
    }
},
"peers": {
    "peer0.org1.example.com": {
        "url": "grpc://{{hostmachineurl}}:7051"
    },
    "peer0.org3.example.com": {
        "url": "grpc://{{localmachineurl}}:11051"
    }
},
"certificateAuthorities": {
    "ca.org1.example.com": {
        "url": "http://{{hostmachineurl}}:7054",
        "caName": "ca.org1.example.com"
    },
    "ca.org3.example.com": {
        "url": "http://{{localmachineurl}}:9054",
        "caName": "ca.org1.example.com"
    }
}

}

мой докер для создания однорангового org3

version: '2'

volumes:
  peer0.org3.example.com:

networks:
  byfn:

services:

  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_EXTERNALENDPOINT=peer0.org3.example.com:7051
      - CORE_PEER_LOCALMSPID=Org3MSP
    volumes:
        - /var/run/:/host/var/run/
        - ~/fabric-samples/first-network/org3-artifacts/crypto-config/peerOrganizations/org3.example.com/users/[email protected]/msp:/etc/hyperledger/fabric/msp
        - ~/fabric-samples/first-network/org3-artifacts/crypto-config/peerOrganizations/org3.example.com/users/[email protected]/tls:/etc/hyperledger/fabric/tls
        - peer0.org3.example.com:/var/hyperledger/production
    ports:
      - 11051:7051
      - 11053:7053
    networks:
      - byfn

person CChyuan    schedule 22.10.2018    source источник


Ответы (1)


глядя на ваш connection.json выше - я понимаю, почему он запрашивает у CA Org1 (а не у CA Org 3):

в этом разделе в разделе «certificateAuthorities» следует читать «ca.org3.example.com» (см. // ниже):

"certificateAuthorities": {
    "ca.org1.example.com": {
        "url": "http://{{hostmachineurl}}:7054",
        "caName": "ca.org1.example.com"
    },
    "ca.org3.example.com": {
        "url": "http://{{localmachineurl}}:9054",
        "caName": "ca.org1.example.com" // change this line
    }
}

вполне могут быть другие записи, которые вам нужно проверить.

person Paul O'Mahony    schedule 22.10.2018