Ошибка при подключении локальной сети Hyperledger Fabric BYFN к IBM Blockchain Platform VS Code Extension

Я запускаю локальный экземпляр сети BYFN из репозитория Fabric-samples с помощью следующей команды:

git checkout tags/v1.4.6
cd first-network
./byfn.sh up -a -n -i 1.4.6

Затем я пытаюсь подключиться с расширением IBP VS Code, используя следующий файл узлов, который я создал на основе созданной сети:

[
  {
    "name": "peer0.org1.example.com",
    "api_url": "grpcs://localhost:7051",
    "type": "fabric-peer",
    "msp_id": "Org1MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWekNDQWY2Z0F3SUJBZ0lSQU10NWtsWVhDbFJYaVYvVTJ6d0pvSEl3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTWpBeE1qSXpNVFkxTmpBd1doY05NekF4TWpJeE1UWTEKTmpBd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ1dRVDM4aHlFL1pseDdxU0tMS0pRcnpJNTZSYUp6cnZLY1B6Tm1xc2k5dmRJNmFuRE9QekRzMgpOWHVHeGJTY3drLzR5a3Rac3E2cFg5VjFVU2VqaHN1amJUQnJNQTRHQTFVZER3RUIvd1FFQXdJQnBqQWRCZ05WCkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBcEJnTlYKSFE0RUlnUWdrUkdteWlSQmlXT0JUUDhFSmo2enl3aXlXMXFrUE9KRVpvN2lTeE40S0drd0NnWUlLb1pJemowRQpBd0lEUndBd1JBSWdMMkc4VDZ0bVdKeHJRc3hyVDNUTDNvUkYvUmVmbWp2YkNvSnpoc2xJKzMwQ0lCU0RRdC9NCmNyUHJyOHNybFBSeTNXakRWUlhjTGo0ZGkzSEdENG42WGFRRgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "peer1.org1.example.com",
    "api_url": "grpcs://localhost:8051",
    "type": "fabric-peer",
    "msp_id": "Org1MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWekNDQWY2Z0F3SUJBZ0lSQU10NWtsWVhDbFJYaVYvVTJ6d0pvSEl3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTWpBeE1qSXpNVFkxTmpBd1doY05NekF4TWpJeE1UWTEKTmpBd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ1dRVDM4aHlFL1pseDdxU0tMS0pRcnpJNTZSYUp6cnZLY1B6Tm1xc2k5dmRJNmFuRE9QekRzMgpOWHVHeGJTY3drLzR5a3Rac3E2cFg5VjFVU2VqaHN1amJUQnJNQTRHQTFVZER3RUIvd1FFQXdJQnBqQWRCZ05WCkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBcEJnTlYKSFE0RUlnUWdrUkdteWlSQmlXT0JUUDhFSmo2enl3aXlXMXFrUE9KRVpvN2lTeE40S0drd0NnWUlLb1pJemowRQpBd0lEUndBd1JBSWdMMkc4VDZ0bVdKeHJRc3hyVDNUTDNvUkYvUmVmbWp2YkNvSnpoc2xJKzMwQ0lCU0RRdC9NCmNyUHJyOHNybFBSeTNXakRWUlhjTGo0ZGkzSEdENG42WGFRRgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "ca.org1.example.com",
    "api_url": "https://localhost:7054",
    "type": "fabric-ca",
    "ca_name": "ca-org1",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNVVENDQWZpZ0F3SUJBZ0lSQUpTTFNxaVB4b3puSDJSVTl6cXlJNXd3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NakF4TWpJek1UWTFOakF3V2hjTk16QXhNakl4TVRZMU5qQXcKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkpMNVI1K2ttUHJ2S1ZrSE1yak01MTE5bFJOMEdOM3dhUm1jQUZpb1lhTjcvV1BvVmFVNGJzV0ZEbC8wcG9NdgpFc05qeHRCaVI2K0NCdnMyWmtObTNkMmpiVEJyTUE0R0ExVWREd0VCL3dRRUF3SUJwakFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWcKeUROYmovNk5rL3NSNmpmR1FFeFpnajY2S3VtUTQzR0hBL1NLZUtGUCt0Y3dDZ1lJS29aSXpqMEVBd0lEUndBdwpSQUlnQ2QyMnNMME90SDNtZnRDTmFPZzJNZlpQVHRjdEVqbkcwblRUdUlFMW1oUUNJRFdMSURhUmg2UmFhekhwCk9vWjRjVENpc3hiaU8xclI5eVUrMUg5aUdWL2IKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = ",
    "enroll_id": "admin",
    "enroll_secret": "adminpw"
  },
  {
    "name": "orderer.example.com",
    "api_url": "grpcs://localhost:7050",
    "type": "fabric-orderer",
    "msp_id": "OrdererMSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVtZ0F3SUJBZ0lRUFp6Wld0L0pkT1BRZG9Sdjgwem5NekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEl3TVRJeU16RTJOVFl3TUZvWERUTXdNVEl5TVRFMk5UWXdNRm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQko0YmlxMnhrcGo4NGNBZnZTWEgKV1dCWlN6U3oyZXVIYysrQ3F0dXBDYXZTM1Y3c2ZSSzFKb3l5QndlazIzRjVpRXY3akhwUHlrUHVUVStycTAxYgpRdHVqYlRCck1BNEdBMVVkRHdFQi93UUVBd0lCcGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCCkJRVUhBd0V3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FnQy9HSzhNUDV0S0hSTWJQSWNOZkoKejh6L2ZlTmx1cXRmSThqL3V0YW5CV1F3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUpSRDZoOVJFejlBcmlSSwpXcWRhSnZKQVhjaVFOYk9Wa0MxWHlvR3FZWVF2QWlCcWFaRHRuY2lWcUtzSUR5dUJQaTBucS83OTBpVUF0dUp2CmhPcFJNOGtEZUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "peer0.org2.example.com",
    "api_url": "grpcs://localhost:9051",
    "type": "fabric-peer",
    "msp_id": "Org2MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNXRENDQWY2Z0F3SUJBZ0lSQUx5c1Fpdk1JVzRDTWdON0s3bmV1TGN3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTWpBeE1qSXpNVFkxTmpBd1doY05NekF4TWpJeE1UWTEKTmpBd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCTldtKy9TS3ZsV2FvQUViUUZyTGdMQml6b0o5eDNLbDVISHFya1hsMU1YS3Q2MjRKd1BTOXBMdApReFBUN2x6VGhib0pYZlVocE1ZQmdGQVJqTHp0eXNLamJUQnJNQTRHQTFVZER3RUIvd1FFQXdJQnBqQWRCZ05WCkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBcEJnTlYKSFE0RUlnUWdBaWE1WCtEZnRZRFVGVVN3SVJEUEJCc2hIdVdLVzlGVTdNb04vRVllNmM4d0NnWUlLb1pJemowRQpBd0lEU0FBd1JRSWhBSjN2bk1NcUlsVUMvWUlzdVJFOGIwcDE1TE80NlFYK0VucXBmcGVJc2hkMkFpQis3cjdKCkNWTDhKUW9tZlJSeCszbUVua0NIOGoxL0x5YW5xV3IrWkdQNkhnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = "
  },
  {
    "name": "peer1.org2.example.com",
    "api_url": "grpcs://localhost:10051",
    "type": "fabric-peer",
    "msp_id": "Org2MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNXRENDQWY2Z0F3SUJBZ0lSQUx5c1Fpdk1JVzRDTWdON0s3bmV1TGN3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTWpBeE1qSXpNVFkxTmpBd1doY05NekF4TWpJeE1UWTEKTmpBd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCTldtKy9TS3ZsV2FvQUViUUZyTGdMQml6b0o5eDNLbDVISHFya1hsMU1YS3Q2MjRKd1BTOXBMdApReFBUN2x6VGhib0pYZlVocE1ZQmdGQVJqTHp0eXNLamJUQnJNQTRHQTFVZER3RUIvd1FFQXdJQnBqQWRCZ05WCkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBcEJnTlYKSFE0RUlnUWdBaWE1WCtEZnRZRFVGVVN3SVJEUEJCc2hIdVdLVzlGVTdNb04vRVllNmM4d0NnWUlLb1pJemowRQpBd0lEU0FBd1JRSWhBSjN2bk1NcUlsVUMvWUlzdVJFOGIwcDE1TE80NlFYK0VucXBmcGVJc2hkMkFpQis3cjdKCkNWTDhKUW9tZlJSeCszbUVua0NIOGoxL0x5YW5xV3IrWkdQNkhnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = "
  },
  {
    "name": "ca.org2.example.com",
    "api_url": "https://localhost:8054",
    "type": "fabric-ca",
    "ca_name": "ca-org2",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNVVENDQWZpZ0F3SUJBZ0lSQVBBdHVvQlMrdCtnOVRRRGRTSzRJN013Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NakF4TWpJek1UWTFOakF3V2hjTk16QXhNakl4TVRZMU5qQXcKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkw2Q2wrV3ZLVmR3UmtZWmdtUVdmdDMwQUxQTXBDbFBuYm9QcVB3d2VMU2ZCU3k4dHp3dnZYSU9xWGlWQ2UyVwpzbFlneDFXMVprTG9aYXNzNkU3cnNRYWpiVEJyTUE0R0ExVWREd0VCL3dRRUF3SUJwakFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWcKUXJXTllISDV0VWhHUkFneDI1aWsxdXJQSUNKRkxjVGg4YnJMcjdXTy83c3dDZ1lJS29aSXpqMEVBd0lEUndBdwpSQUlnTGJSc3EvaEcveG9pMjc4eFZDdmQxQXpXY0JWNUdsTG51TjlzZmlSdW5Ka0NJRFAxSksxOTIwaXFTZlBKCmQ4TnBDb1VJME5MQmtZNnNrYkQ2T3FvbUs5TjQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = ",
    "enroll_id": "admin",
    "enroll_secret": "adminpw"
  }
]

pem вместо peer*.org*.example.com — это версия сертификата в кодировке base64 в

first-network/crypto-config/peerOrganizations/org*.example.com/tlsca/tlsca.org*.example.com-cert.pem


pem вместо orderer.example.com — это версия сертификата в кодировке base64 в

first-network/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem


pem вместо ca.org*.example.com — это версия сертификата в кодировке base64 в

first-network/crypto-config/peerOrganizations/org*.example.com/ca/ca.org*.example.com-cert.pem


Затем я создаю кошельки для Org1, Org2 и Orderer, предоставляя файлы signcerts и keystore в

first-network/crypto-config/(peer|orderer)Organizations/org*.example.com/users/Admin@org*.example.com/msp

Для CA я выбрал вариант use ID and secret to enroll a new identity для создания новых удостоверений в кошельках Org1 и Org2. Теперь, когда я пытаюсь подключиться к среде, расширение выдает следующую ошибку:

Error connecting to environment Byfn: Error querying channels: 14 UNAVAILABLE: failed to connect to all addresses

Кроме того, я могу импортировать файлы connection-org*.json, чтобы создать новый шлюз и увидеть канал в расширении, но не могу создать новую среду для установки/создания новых чейнкодов.

Версия расширения: v1.0.40

Как решить эту проблему и подключить расширение VS Code к моей локальной сети BYFN?


Решение, упомянутое @david_k ниже, работает. Для полноты вот мои обновленные файлы:

nodes.json

[
  {
    "name": "peer0.org1.example.com",
    "api_url": "grpcs://peer0.org1.example.com:7051",
    "type": "fabric-peer",
    "msp_id": "Org1MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWakNDQWYyZ0F3SUJBZ0lRVHk2dUNOTW9Xclc5VHMzdW55dDVHekFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB5TURFeU1qUXhOVEl6TURCYUZ3MHpNREV5TWpJeE5USXoKTURCYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVxOHJNenpNeVhDVHlXU3RMaXcxNVEzTTE1RWdHbzFpSmdMQVgvR3ZOdUxxMTlKQ1NuMkpmZnkrcAo3cUpIWWN4WGMwUGVjdlFQaHhVa0VHOUkzS2UzaDZOdE1Hc3dEZ1lEVlIwUEFRSC9CQVFEQWdHbU1CMEdBMVVkCkpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUNrR0ExVWQKRGdRaUJDQjJOek9mbUIzTmRJZ0UyVlBQT0VjT25UeFpyWmdkMU5HeGVJVm5XbDRwSFRBS0JnZ3Foa2pPUFFRRApBZ05IQURCRUFpQXBtRTE1Q1NKcSswemx2QTlkK1MraUF1SENoK0FJdmIrVGRpTFhQSW5NeXdJZ0NrNlFLQ0d0CjRlQ1hSdElEdVExRGI5WWx5NFJLTkx0SHpjNVkvODdOOWxzPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "peer1.org1.example.com",
    "api_url": "grpcs://peer1.org1.example.com:8051",
    "type": "fabric-peer",
    "msp_id": "Org1MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWakNDQWYyZ0F3SUJBZ0lRVHk2dUNOTW9Xclc5VHMzdW55dDVHekFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB5TURFeU1qUXhOVEl6TURCYUZ3MHpNREV5TWpJeE5USXoKTURCYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVxOHJNenpNeVhDVHlXU3RMaXcxNVEzTTE1RWdHbzFpSmdMQVgvR3ZOdUxxMTlKQ1NuMkpmZnkrcAo3cUpIWWN4WGMwUGVjdlFQaHhVa0VHOUkzS2UzaDZOdE1Hc3dEZ1lEVlIwUEFRSC9CQVFEQWdHbU1CMEdBMVVkCkpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUNrR0ExVWQKRGdRaUJDQjJOek9mbUIzTmRJZ0UyVlBQT0VjT25UeFpyWmdkMU5HeGVJVm5XbDRwSFRBS0JnZ3Foa2pPUFFRRApBZ05IQURCRUFpQXBtRTE1Q1NKcSswemx2QTlkK1MraUF1SENoK0FJdmIrVGRpTFhQSW5NeXdJZ0NrNlFLQ0d0CjRlQ1hSdElEdVExRGI5WWx5NFJLTkx0SHpjNVkvODdOOWxzPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "ca.org1.example.com",
    "api_url": "https://ca.org1.example.com:7054",
    "type": "fabric-ca",
    "ca_name": "ca-org1",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNVRENDQWZlZ0F3SUJBZ0lRVVVaaW1HRGg0alRDd3FmS3dqdHd0REFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHlNREV5TWpReE5USXpNREJhRncwek1ERXlNakl4TlRJek1EQmEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKWms4ZC9rRElyemxhWVY0cVdCL3V4Y1hiNDRhSzE5dUdXcWk1UEpsZjY3b0p3SHNidEF6REhuR0dlaVkvcWNMaApQVEQwZUhqOHQ1YkVCK24rVFhoOFNhTnRNR3N3RGdZRFZSMFBBUUgvQkFRREFnR21NQjBHQTFVZEpRUVdNQlFHCkNDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQ0MKTHQ1dUFlWmZMQ1dRZi9HbjQxdTZaR3BnS0ZUaGNOd1NHbllraWF4OWN6QUtCZ2dxaGtqT1BRUURBZ05IQURCRQpBaUFsYUhoSVh0VFhHY2k0RjBsVTVtR1BEb3VqbWZwbm5USEFOVXoyRGUvSzRnSWdFZnMrRWE0eG9IR1pOUE45ClcyYzVwTjFhU3g1Mm5CTGFRQUhjWEkrME00bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = ",
    "enroll_id": "admin",
    "enroll_secret": "adminpw"
  },
  {
    "name": "orderer.example.com",
    "api_url": "grpcs://orderer.example.com:7050",
    "type": "fabric-orderer",
    "msp_id": "OrdererMSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUtNSmd3dkloS1IxamtndXhIYlE1eHd3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB5TURFeU1qUXhOVEl6TURCYUZ3MHpNREV5TWpJeE5USXpNREJhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSVHY4TEFreldqelp0V3N3THcKNERiNnhZa3MrNlhEa2JmWE9jdEVmWTcwVUZDdmJFUEk3MmwvRGlwdnVQR29kL1VkWjF4Q3Freitoc1hBMGhqYwo2Y0JybzIwd2F6QU9CZ05WSFE4QkFmOEVCQU1DQWFZd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3SUdDQ3NHCkFRVUZCd01CTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU04RWFPV05WenFOV2hqcDh2L0oKRTRCTUE4TkZFbWxLaHljbWVlZnlIQWQ3TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUV3Qzk3M3pyV2pXeUZQYQp2Y3NWSlNScWZ0NWo0OFFDMjZnR2syN2Q3eGlWQWlCcTRJcVpOK2phNlE4SmZnYnZNRXphb2Z1U1dJTE91NzdhCmk3ZjkvbmFmbnc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "peer0.org2.example.com",
    "api_url": "grpcs://peer0.org2.example.com:9051",
    "type": "fabric-peer",
    "msp_id": "Org2MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWekNDQWYyZ0F3SUJBZ0lRR3ZTeks4TytCQXpZd1NiSDZHK0JRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB5TURFeU1qUXhOVEl6TURCYUZ3MHpNREV5TWpJeE5USXoKTURCYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVub1Nrd1lYdXJrTElKK1J6OEFpYTJQYUU5cGRoL2ZTZUdjUTM4Smt6dXh6aDh2Z2oxOUlwZjRTKwoxQ2FwZ0ZLOFQ2bE95dGNRWURnaS9uL0U0SWdhUjZOdE1Hc3dEZ1lEVlIwUEFRSC9CQVFEQWdHbU1CMEdBMVVkCkpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUNrR0ExVWQKRGdRaUJDQ1VJU2FLWUNhZUhTWFRPUG5lcnQzOE8vWHVyU0NxcXp2NU5KTmFieVM5MURBS0JnZ3Foa2pPUFFRRApBZ05JQURCRkFpRUE3clBueVVHb05zQ09uc1I3b29WRVJFaXRqdVVnWHNkbWtzTjduNy85NTdvQ0lFRWVjZmN5ClU1a0J0bGxpNlN4WjBLQlcwU0tQU2IyMUovanMydFNXWE0wdAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "peer1.org2.example.com",
    "api_url": "grpcs://peer1.org2.example.com:10051",
    "type": "fabric-peer",
    "msp_id": "Org2MSP",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWekNDQWYyZ0F3SUJBZ0lRR3ZTeks4TytCQXpZd1NiSDZHK0JRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB5TURFeU1qUXhOVEl6TURCYUZ3MHpNREV5TWpJeE5USXoKTURCYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVub1Nrd1lYdXJrTElKK1J6OEFpYTJQYUU5cGRoL2ZTZUdjUTM4Smt6dXh6aDh2Z2oxOUlwZjRTKwoxQ2FwZ0ZLOFQ2bE95dGNRWURnaS9uL0U0SWdhUjZOdE1Hc3dEZ1lEVlIwUEFRSC9CQVFEQWdHbU1CMEdBMVVkCkpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUNrR0ExVWQKRGdRaUJDQ1VJU2FLWUNhZUhTWFRPUG5lcnQzOE8vWHVyU0NxcXp2NU5KTmFieVM5MURBS0JnZ3Foa2pPUFFRRApBZ05JQURCRkFpRUE3clBueVVHb05zQ09uc1I3b29WRVJFaXRqdVVnWHNkbWtzTjduNy85NTdvQ0lFRWVjZmN5ClU1a0J0bGxpNlN4WjBLQlcwU0tQU2IyMUovanMydFNXWE0wdAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg= = "
  },
  {
    "name": "ca.org2.example.com",
    "api_url": "https://ca.org2.example.com:8054",
    "type": "fabric-ca",
    "ca_name": "ca-org2",
    "pem": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNVVENDQWZpZ0F3SUJBZ0lSQUl4Zzg4bEtDeVpxTC9kZHhVbnBuY293Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NakF4TWpJME1UVXlNekF3V2hjTk16QXhNakl5TVRVeU16QXcKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkVoMExpTTZjS1ZkK1I4K0krNHRSbk1hK3owT1JRbFQ2V2VyS2szaU1RNTgzc0J5WlBDQ2kreWRWZkQ3RFhoOQoyLzArSlhFNld3clVCMW9ZUHVWeDNBZWpiVEJyTUE0R0ExVWREd0VCL3dRRUF3SUJwakFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWcKazNkZUppd1cwZzl5SXU1eXVTVFR0YzN3bHdadlJyMEFJWHAwU0xycHd1TXdDZ1lJS29aSXpqMEVBd0lEUndBdwpSQUlnRmpGUXJjODk1UFN2TFZBcHhacGV6RUVpSzJsZjJuaC9PRWNoQVlUVWFZd0NJQ2FadmI4eDhhU2l0Qmx2Cmk3SEhyQlVBV0c5MUpCTXkyWTdWUjNRR0NmZ0YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo = ",
    "enroll_id": "admin",
    "enroll_secret": "adminpw"
  }
]

/etc/hosts

127.0.0.1       localhost peer0.org1.example.com peer1.org1.example.com peer0.org2.example.com peer1.org2.example.com orderer.example.com ca.org1.example.com ca.org2.example.com
...
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
208
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема в том, что сертификаты TLS будут иметь имена хостов, такие как «peer0.org1.example.com», и все же вы объявляете удаленный хост как «localhost» в файлах узла, и поскольку они не совпадают, соединение TLS не будет выполнено. Причина, по которой это работает для профилей подключения, заключается в том, что у них есть возможность указать переопределение имени хоста.

Насколько я знаю, у вас нет этой опции в файлах узлов расширения блокчейна. Но вы можете легко решить эту проблему, обновив файл hosts (/etc/hosts), чтобы сопоставить имена, такие как peer0.org1.example.com, peer1.org1.example.com, с localhost. Затем вы можете изменить файлы узлов, чтобы использовать ожидаемые имена хостов, а не localhost.

Другие вопросы по теме