Структура Hyperledger: неверная конфигурация сети из-за отсутствия данных конфигурации - PullRequest
0 голосов
/ 05 сентября 2018

Я новичок в ткани и блокчейне hyperledger. Я могу настраивать и запускать примеры структуры hyperledger до сих пор, но когда я переименовал «Org1» в переводе баланса в «Больницу», а также добавил новую организацию «Org3». Я могу запустить приложение, но при попытке зарегистрировать пользователя в «Больнице» я сталкиваюсь с проблемой ниже.

сети config.json

{  
   "name":"balance-transfer",
   "x-type":"hlfv1",
   "description":"Balance Transfer Network",
   "version":"1.0",
   "channels":{  
      "mychannel":{  
         "orderers":[  
            "orderer.example.com"
         ],
         "peers":{  
            "peer0.hospital.example.com":{  
               "endorsingPeer":true,
               "chaincodeQuery":true,
               "ledgerQuery":true,
               "eventSource":true
            },
            "peer1.hospital.example.com":{  
               "endorsingPeer":false,
               "chaincodeQuery":true,
               "ledgerQuery":true,
               "eventSource":false
            },
            "peer0.org2.example.com":{  
               "endorsingPeer":true,
               "chaincodeQuery":true,
               "ledgerQuery":true,
               "eventSource":true
            },
            "peer0.org3.example.com":{  
               "endorsingPeer":true,
               "chaincodeQuery":true,
               "ledgerQuery":true,
               "eventSource":true
            }
         },
         "chaincodes":[  
            "mycc:v0"
         ]
      }
   },
   "organizations":{  
      "Hospital":{  
         "mspid":"HospitalMSP",
         "peers":[  
            "peer0.hospital.example.com",
            "peer1.hospital.example.com"
         ],
         "certificateAuthorities":[  
            "ca-hospital"
         ],
         "adminPrivateKey":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/hospital.example.com/users/Admin@hospital.example.com/msp/keystore/key"
         },
         "signedCert":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/hospital.example.com/users/Admin@hospital.example.com/msp/signcerts/Admin@hospital.example.com-cert.pem"
         }
      },
      "Org2":{  
         "mspid":"Org2MSP",
         "peers":[  
            "peer0.org2.example.com"
         ],
         "certificateAuthorities":[  
            "ca-org2"
         ],
         "adminPrivateKey":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/key"
         },
         "signedCert":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem"
         }
      },
      "Org3":{  
         "mspid":"Org3MSP",
         "peers":[  
            "peer0.org3.example.com"
         ],
         "certificateAuthorities":[  
            "ca-org3"
         ],
         "adminPrivateKey":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp/keystore/key"
         },
         "signedCert":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp/signcerts/Admin@org3.example.com-cert.pem"
         }
      }
   },
   "orderers":{  
      "orderer.example.com":{  
         "url":"grpcs://localhost:7050",
         "grpcOptions":{  
            "ssl-target-name-override":"orderer.example.com"
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt"
         }
      }
   },
   "peers":{  
      "peer0.hospital.example.com":{  
         "url":"grpcs://localhost:7051",
         "eventUrl":"grpcs://localhost:7053",
         "grpcOptions":{  
            "ssl-target-name-override":"peer0.hospital.example.com"
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/hospital.example.com/peers/peer0.hospital.example.com/tls/ca.crt"
         }
      },
      "peer1.hospital.example.com":{  
         "url":"grpcs://localhost:7056",
         "eventUrl":"grpcs://localhost:7058",
         "grpcOptions":{  
            "ssl-target-name-override":"peer1.hospital.example.com"
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/hospital.example.com/peers/peer1.hospital.example.com/tls/ca.crt"
         }
      },
      "peer0.org2.example.com":{  
         "url":"grpcs://localhost:8051",
         "eventUrl":"grpcs://localhost:8053",
         "grpcOptions":{  
            "ssl-target-name-override":"peer0.org2.example.com"
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
         }
      },
      "peer0.org3.example.com":{  
         "url":"grpcs://localhost:9051",
         "eventUrl":"grpcs://localhost:9053",
         "grpcOptions":{  
            "ssl-target-name-override":"peer0.org3.example.com"
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/ca.crt"
         }
      }
   },
   "certificateAuthorities":{  
      "ca-hospital":{  
         "url":"https://localhost:7054",
         "httpOptions":{  
            "verify":false
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/hospital.example.com/ca/ca.hospital.example.com-cert.pem"
         },
         "registrar":[  
            {  
               "enrollId":"admin",
               "enrollSecret":"adminpw"
            }
         ],
         "caName":"ca-hospital"
      },
      "ca-org2":{  
         "url":"https://localhost:8054",
         "httpOptions":{  
            "verify":false
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem"
         },
         "registrar":[  
            {  
               "enrollId":"admin",
               "enrollSecret":"adminpw"
            }
         ],
         "caName":"ca-org2"
      },
      "ca-org3":{  
         "url":"https://localhost:9054",
         "httpOptions":{  
            "verify":false
         },
         "tlsCACerts":{  
            "path":"artifacts/channel/crypto-config/peerOrganizations/org3.example.com/ca/ca.org3.example.com-cert.pem"
         },
         "registrar":[  
            {  
               "enrollId":"admin",
               "enrollSecret":"adminpw"
            }
         ],
         "caName":"ca-org3"
      }
   }
}

[2018-09-05 14: 36: 32.640] Помощник [ОШИБКА] - не удалось получить зарегистрированного пользователя: Джим с ошибкой: Ошибка: неверная конфигурация сети из-за отсутствия данных конфигурации [2018-09-05 14: 36: 32.640] [DEBUG] SampleWebApp - - вернулся с регистрации имени пользователя Jim для организации Hospital [2018-09-05 14: 36: 32.640] [DEBUG] SampleWebApp - Не удалось зарегистрировать имя пользователя Jim для организации Больница с :: ошибка: Ошибка: неверная конфигурация сети из-за отсутствия данных конфигурации

Ответы [ 2 ]

0 голосов
/ 17 января 2019

С ошибкой " Неправильная конфигурация сети из-за пропущенных данных конфигурации " -> как я знаю из выборки ткани / перенос баланса проект, вам нужно установить конфигурационные настройки для клиента за мгновение до того, как вы сможете вызвать метод loadFromConfig.

Вот код, который вы можете найти в файле config.js в fabric-sample / balance-transer project

var hfc = require('fabric-client');

hfc.setConfigSetting('network-connection-profile-path',path.join(__dirname, 'artifacts' ,file));//file here is your network connection profile
hfc.setConfigSetting('Org1-connection-profile-path',path.join(__dirname, 'artifacts', 'org1.yaml'));
hfc.setConfigSetting('Org2-connection-profile-path',path.join(__dirname, 'artifacts', 'org2.yaml'));

В файле helper.js вы увидите метод вызова клиента loadFromConfig, как показано ниже

client.loadFromConfig(hfc.getConfigSetting('network-connection-profile-path'));
0 голосов
/ 05 сентября 2018

Заменили ли вы / keystore / key на новые сгенерированные ключи после добавления новых организаций? Если нет, вам необходимо обновить путь ключей соответствующих организаций. Всякий раз, когда вы генерируете крипто-конфигурацию, значение «ключа» будет меняться

...