Невозможно настроить обозреватель hyperledger с одним узлом (как в примере с базовой сетью)

Кто-нибудь смог настроить проводник hyperledger на базовом примере сети (удалось настроить его с первой сетью). В этом случае он не подхватит мой пэр / канал. Конфигурация работает с четырьмя узлами и заказчиком с двумя организациями (первая сеть), но я не могу заставить его работать только с одним узлом. Любая помощь будет оценена!

Версия Fabric: 1.2 Версия Explorer: 3.7.1

config.json (фактический файл хорошо отформатирован):-

    {
     "network-configs": {
       "network-1": {
         "version": "1.0",
          "clients": {
            "client-1": {
               "tlsEnable": true,
               "organization": "Org1MSP",
               "channel": "myc",
               "credentialStore": {
               "path": "./tmp/credentialStore_Org1/credential",
               "cryptoStore": {
                  "path": "./tmp/credentialStore_Org1/crypto"
                }
      }
    }
  },
  "channels": {
    "myc": {
      "peers": {
        "peer0.org1.example.com": {}
      },
      "connection": {
        "timeout": {
          "peer": {
            "endorser": "6000",
            "eventHub": "6000",
            "eventReg": "6000"
          }
        }
      }
    }
  },
  "organizations": {
    "Org1MSP": {
      "mspid": "Org1MSP",
      "fullpath": false,
      "adminPrivateKey": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/users/Admin@org1.example.com/msp/keystore"
      },
      "signedCert": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
      }
    },
    "OrdererMSP": {
      "mspid": "OrdererMSP",
      "adminPrivateKey": {
        "path":
          "/fabricsamples/basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore"
      }
    }
  },
  "peers": {
    "peer0.org1.example.com": {
      "tlsCACerts": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
      },
      "url": "grpcs://peer0.org1.example.com:7051",
      "eventUrl": "grpcs://peer0.org1.example.com:7053",
      "grpcOptions": {
        "ssl-target-name-override": "peer0.org1.example.com"
      }
    }
  },
  "orderers": {
    "orderer.example.com": {
      "url": "grpcs://orderer.example.com:7050"
    }
  }
}
     },
    "configtxgenToolPath": "/home/ett/go/src/themeSCF/bin",
     "license": "Apache-2.0"
    }

1 ответ

Решение

Во-первых, несколько предложений относительно вашего конфигурационного файла:

  • Значение tlsEnable должно быть ложным - пример базовой сети не использует TLS.
  • Все URL должны использовать grpc - grpcs используется только когда TLS включен.
  • Все URL-адреса должны использовать localhost - при условии, что ваши пути указаны правильно, похоже, вы запускаете Explorer локально (т.е. не в контейнере). В этом случае все адреса должны использовать localhost.

Вам также необходимо отредактировать docker-compose.yml файл, используемый basic-network для добавления следующего:

services: 
  peer0.org1.example.com: 
      environment:
        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051

Без этого одноранговый узел будет отклонять все подключения извне своей организации.

С этим изменением, примененным к docker-compose.ymlМне удалось успешно развернуть Explorer 3.7 в док-контейнере, следуя приведенным здесь инструкциям, используя папку конфигурации с именем basic-network и следующая команда:

./deploy_explorer.sh basic-network net_basic

и со следующим config.json файл в blockchain-explorer/examples/basic-network:

{
  "network-configs": {
    "network-1": {
      "version": "1.0",
      "clients": {
        "client-1": {
          "tlsEnable": false,
          "organization": "Org1MSP",
          "channel": "mychannel",
          "credentialStore": {
            "path": "./tmp/credentialStore_Org1/credential",
            "cryptoStore": {
              "path": "./tmp/credentialStore_Org1/crypto"
            }
          }
        }
      },
      "channels": {
        "mychannel": {
          "peers": {
            "peer0.org1.example.com": {}
          },
          "connection": {
            "timeout": {
              "peer": {
                "endorser": "6000",
                "eventHub": "6000",
                "eventReg": "6000"
              }
            }
          }
        }
      },
      "organizations": {
        "Org1MSP": {
          "mspid": "Org1MSP",
          "fullpath": false,
          "adminPrivateKey": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore"
          },
          "signedCert": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
          }
        },
        "OrdererMSP": {
          "mspid": "OrdererMSP",
          "adminPrivateKey": {
            "path":
              "/tmp/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore"
          }
        }
      },
      "peers": {
        "peer0.org1.example.com": {
          "tlsCACerts": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
          },
          "url": "grpc://peer0.org1.example.com:7051",
          "eventUrl": "grpc://peer0.org1.example.com:7053",
          "grpcOptions": {
            "ssl-target-name-override": "peer0.org1.example.com"
          }
        }
      },
      "orderers": {
        "orderer.example.com": {
          "url": "grpc://orderer.example.com:7050"
        }
      }
    }
  },
  "configtxgenToolPath": "/home/fabric-path/workspace/fabric-samples/bin",
  "license": "Apache-2.0"
}

Если после выполнения вышеуказанных инструкций у вас по-прежнему возникают проблемы, опубликуйте подробные сведения обо всех ошибках, о которых сообщает Blockchain Explorer, а также файл журнала Blockchain Explorer (app.log). Их можно просмотреть с помощью следующих команд при использовании сценария развертывания Docker:

docker logs blockchain-explorer
docker exec -t blockchain-explorer cat /opt/logs/app/app.log
Другие вопросы по тегам