web-dev-qa-db-fra.com

Erreur outil cryptogène dans Hyperledger Fabric

J'essaie d'installer et d'exécuter Hyperledger Fabric sur OSX. L'installation semble s'être bien déroulée. Cependant, lorsque j'exécute l'outil cryptogène, les avertissements suivants apparaissent:

Apples-MacBook-Pro:e2e mycomputer$ ./../../$os_Arch/bin/cryptogen generate --config=./crypto-config.yaml
org1.example.com
2017-04-27 15:46:27.940 PDT [bccsp] GetDefault -> WARN 001 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.963 PDT [bccsp] GetDefault -> WARN 002 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.966 PDT [bccsp] GetDefault -> WARN 003 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.967 PDT [bccsp] GetDefault -> WARN 004 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.969 PDT [bccsp] GetDefault -> WARN 005 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
org2.example.com
2017-04-27 15:46:27.973 PDT [bccsp] GetDefault -> WARN 006 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.975 PDT [bccsp] GetDefault -> WARN 007 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.977 PDT [bccsp] GetDefault -> WARN 008 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.979 PDT [bccsp] GetDefault -> WARN 009 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.980 PDT [bccsp] GetDefault -> WARN 00a Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.984 PDT [bccsp] GetDefault -> WARN 00b Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.989 PDT [bccsp] GetDefault -> WARN 00c Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2017-04-27 15:46:27.992 PDT [bccsp] GetDefault -> WARN 00d Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.

Ensuite, l'erreur suivante est générée lorsque l'outil configtxgen est exécuté:

2017-04-27 12:23:57.202 PDT [common/configtx/tool] main -> INFO 001 Loading configuration
2017-04-27 12:23:57.203 PDT [configtx/tool/localconfig] Load -> CRIT 002 Error reading configuration: Unsupported Config Type ""
panic: Error reading configuration: Unsupported Config Type ""

goroutine 1 [running]:
panic(0x490d00, 0xc420175f50)
    /opt/go/go1.7.linux.AMD64/src/runtime/panic.go:500 +0x1a1
github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panicf(0xc4201da240, 0x5663ea, 0x1f, 0xc420175e70, 0x1, 0x1)
    /w/workspace/fabric-verify-x86_64_1/gopath/src/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/logger.go:194 +0x127
github.com/hyperledger/fabric/common/configtx/tool/localconfig.Load(0x7fff5fbffbfe, 0x7, 0x0)
    /w/workspace/fabric-verify-x86_64_1/gopath/src/github.com/hyperledger/fabric/common/configtx/tool/localconfig/config.go:195 +0x79c
main.main()
    /w/workspace/fabric-verify-x86_64_1/gopath/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen/main.go:204 +0x405

Le résultat est qu'aucun orderer.block n'est sorti dans le répertoire e2e.

Que se passe-t-il?

Merci de votre aide. philstan

5
philstan

Bien que vous obteniez des messages d'avertissement lorsque vous exécutez ./../../$os_Arch/bin/cryptogen generate --config=./crypto-config.yaml, les certificats sont créés dans le dossier crypto_config du dossier ee.

Quant à la deuxième partie, créer un bloc de genèse, vous devez le faire

    Do not pass ORDERER_CFG_PATH=$PWD
    instead, pass the following: FABRIC_CFG_PATH=$PWD

    In the network_setup.sh script, make the same change.
    It should be: export FABRIC_CFG_PATH=$PWD

Pour plus d'informations à ce sujet, voir ce lien https://jira.hyperledger.org/browse/FAB-3467

6
user2048724

pour résoudre ceci, ne pas définir le PATH comme ceci:

FABRIC_CFG_PATH=$PWD

à la place, vous devez exporter cela comme ceci:

export FABRIC_CFG_PATH=$PWD

sinon, vous ajouterez le PATH au début de la commande, comme ceci par exemple:

FABRIC_CFG_PATH=$PWD ./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
1
user692727

J'ai eu le même problème après avoir implémenté un nouveau réseau. Dans mon cas, la solution consistait à changer le chemin d'accès de PATH dans .bashrc au nouveau dossier où se trouve mon outil cryptogène. Exemple:

export PATH=$PATH:~/fabric-samples/network

Lors de la mise en œuvre du premier réseau, l'outil se trouve dans le dossier bin, mais dans mon nouveau réseau, l'outil constitue un autre dossier. Ensuite, redémarrez et vérifiez avec 'quel cryptogène' que le bon dossier est sélectionné. 

0
VictoriaW

J'ai la même erreur sous Windows. Définir la variable d’environnement comme ci-dessous n’a pas résolu le problème.

$ FABRIC_CFG_PATH=$PWD

$ ./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
2017-05-24 15:48:42.109 IST [common/configtx/tool] main -> INFO 001 Loading configuration
2017-05-24 15:48:42.113 IST [common/configtx/tool/localconfig] Load -> CRIT 002 Error reading config
uration:  Unsupported Config Type ""
panic: Error reading configuration: Unsupported Config Type ""

goroutine 1 [running]:
panic(0x8a3e60, 0xc0421ee9f0)
        /opt/go/go1.7.linux.AMD64/src/runtime/panic.go:500 +0x1af
github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panic(0xc04216dad0, 0xc04219
7c60, 0x2, 0x2)
        /w/workspace/fabric-binaries-x86_64-1/gopath/src/github.com/hyperledger/fabric/vendor/github
.com/op/go-logging/logger.go:188 +0xd7
github.com/hyperledger/fabric/common/configtx/tool/localconfig.Load(0xc042040400, 0x15, 0x0)
        /w/workspace/fabric-binaries-x86_64-1/gopath/src/github.com/hyperledger/fabric/common/config
tx/tool/localconfig/config.go:180 +0xa95
main.main()
        /w/workspace/fabric-binaries-x86_64-1/gopath/src/github.com/hyperledger/fabric/common/config
tx/tool/configtxgen/main.go:328 +0x501

Passer la même variable d'environnement sur la même ligne que l'exécution de la commande a bien fonctionné.

$ FABRIC_CFG_PATH=$PWD ./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-arti
facts/genesis.block
2017-05-24 15:56:29.811 IST [common/configtx/tool] main -> INFO 001 Loading configuration
2017-05-24 15:56:29.831 IST [msp] getMspConfig -> INFO 002 intermediate certs folder not found at [D
:\test\fabric-alpha2\release\windows-AMD64\crypto-config\ordererOrganizations\example.com\msp\interm
ediatecerts]. Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-con
fig\ordererOrganizations\example.com\msp\intermediatecerts: The system cannot find the file specifie
d.]
2017-05-24 15:56:29.855 IST [msp] getMspConfig -> INFO 003 crls folder not found at [D:\test\fabric-
alpha2\release\windows-AMD64\crypto-config\ordererOrganizations\example.com\msp\intermediatecerts].
Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\ordererOrg
anizations\example.com\msp\crls: The system cannot find the file specified.]
2017-05-24 15:56:29.860 IST [msp] getMspConfig -> INFO 004 MSP configuration file not found at [D:\t
est\fabric-alpha2\release\windows-AMD64\crypto-config\ordererOrganizations\example.com\msp\config.ya
ml]: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\ordererOrganizat
ions\example.com\msp\config.yaml: The system cannot find the file specified.]
2017-05-24 15:56:29.892 IST [msp] getMspConfig -> INFO 005 intermediate certs folder not found at [D
:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org1.example.com\msp\inte
rmediatecerts]. Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-c
onfig\peerOrganizations\org1.example.com\msp\intermediatecerts: The system cannot find the file spec
ified.]
2017-05-24 15:56:29.897 IST [msp] getMspConfig -> INFO 006 crls folder not found at [D:\test\fabric-
alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org1.example.com\msp\intermediatecerts]
. Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrga
nizations\org1.example.com\msp\crls: The system cannot find the file specified.]
2017-05-24 15:56:29.904 IST [msp] getMspConfig -> INFO 007 MSP configuration file not found at [D:\t
est\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org1.example.com\msp\config.
yaml]: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizati
ons\org1.example.com\msp\config.yaml: The system cannot find the file specified.]
2017-05-24 15:56:29.918 IST [msp] getMspConfig -> INFO 008 intermediate certs folder not found at [D
:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org2.example.com\msp\inte
rmediatecerts]. Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-c
onfig\peerOrganizations\org2.example.com\msp\intermediatecerts: The system cannot find the file spec
ified.]
2017-05-24 15:56:29.924 IST [msp] getMspConfig -> INFO 009 crls folder not found at [D:\test\fabric-
alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org2.example.com\msp\intermediatecerts]
. Skipping.: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrga
nizations\org2.example.com\msp\crls: The system cannot find the file specified.]
2017-05-24 15:56:29.928 IST [msp] getMspConfig -> INFO 00a MSP configuration file not found at [D:\t
est\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizations\org2.example.com\msp\config.
yaml]: [GetFileAttributesEx D:\test\fabric-alpha2\release\windows-AMD64\crypto-config\peerOrganizati
ons\org2.example.com\msp\config.yaml: The system cannot find the file specified.]
2017-05-24 15:56:29.936 IST [common/configtx/tool] doOutputBlock -> INFO 00b Generating genesis bloc
k
2017-05-24 15:56:29.941 IST [common/configtx/tool] doOutputBlock -> INFO 00c Writing genesis block

Le bloc Genesis a été créé (comme décrit dans la documentation, nous devons ignorer les journaux relatifs aux certificats intermédiaires.

0
JavaD

J'ai maintenant la réponse. Ce problème est causé par le manque de cryptogène, qui est en fait un outil de commande. Le moyen le plus simple de l'obtenir est de télécharger les fichiers binaires spécifiques à la plate-forme sur votre machine locale, , Voici le sh:

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.1.sh | bash

Ce sh téléchargera un fichier bash contenant les dernières images du menu fixe Fabric et les outils spécifiques à la plate-forme. Son contenu est présenté ci-dessous:

#!/bin/bash
#
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

export VERSION=1.0.1
export Arch=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/AMD64/g')" | awk '{print tolower($0)}')
#Set MARCH variable i.e ppc64le,s390x,x86_64,i386
MARCH=`uname -m`

dockerFabricPull() {
  local FABRIC_TAG=$1
  for IMAGES in peer orderer couchdb ccenv javaenv kafka zookeeper tools; do
      echo "==> FABRIC IMAGE: $IMAGES"
      echo
      docker pull hyperledger/fabric-$IMAGES:$FABRIC_TAG
      docker tag hyperledger/fabric-$IMAGES:$FABRIC_TAG hyperledger/fabric-$IMAGES
  done
}

dockerCaPull() {
      local CA_TAG=$1
      echo "==> FABRIC CA IMAGE"
      echo
      docker pull hyperledger/fabric-ca:$CA_TAG
      docker tag hyperledger/fabric-ca:$CA_TAG hyperledger/fabric-ca
}

: ${CA_TAG:="$MARCH-$VERSION"}
: ${FABRIC_TAG:="$MARCH-$VERSION"}

echo "===> Downloading platform binaries"
curl https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/${Arch}-${VERSION}/hyperledger-fabric-${Arch}-${VERSION}.tar.gz | tar xz

echo "===> Pulling fabric Images"
dockerFabricPull ${FABRIC_TAG}

echo "===> Pulling fabric ca Image"
dockerCaPull ${CA_TAG}
echo
echo "===> List out hyperledger docker images"
docker images | grep hyperledger*

Maintenant, basé sur Fabric 1.0.1, vous pouvez trouver la dernière version de cette bash à partir d’ici: http://hyperledger-fabric.readthedocs.io/en/latest/samples.html

Une fois l'exécution sh terminée, il y aura un dossier nommé bin dans le répertoire en cours, puis copiez les fichiers de ce dossier dans un dossier pouvant faire l'objet d'une recherche, tel que 

cp ./bin/*  $GOROOT/bin

Ensuite, vous pouvez tester si le cryptogène existe par type de commande:

which cryptogen
0
chan zanway