web-dev-qa-db-ja.com

ハイパーレジャーファブリックのエラーを解決するにはどうすればよいですか?

最初のネットワークを構築するためのチュートリアルを実行しようとすると、次の出力が得られます。

$  ./byfn.sh -m generate

チャネル「mychannel」とCLIタイムアウト「10000」で証明書と生成ブロックを生成しますか?続行しますか(y/n)? y続行...どちらか:(/c/users/ayush/fabric-samples/first-network/../bin:/c/users/ayush/fabric-samples/first-network:c:/usersに暗号なし/ ayush/bin:/ c/Users/ayush/bin:/ mingw64/bin:/ usr/local/bin:/ usr/bin:/ bin:/ c/Program Files/Docker Toolbox:/ c/Users/ayush/bin:/ mingw64/bin:/ usr/local/bin:/ usr/bin:/ bin:/ mingw64/bin:/ usr/bin:/ c/Users/ayush/bin:/ c/ProgramData/Oracle/Java/javapath:/ c/Program Files/Docker/Docker/Resources/bin:/ c/Windows/system32:/ c/Windows:/ c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files(x86)/ NVIDIA Corporation/PhysX/Common:/ c/Program Files/Intel/WiFi/bin:/ c/Program Files/Common Files/Intel/WirelessCommon:/ cmd:/ c/WINDOWS/system32 :/ c/WINDOWS:/ c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/Gradle/gradle-3.3/bin:/ c/Go/bin:/ c/Programファイル/ nodejs:/ c/Users/ayush/AppData/Local/Programs/Python/Python36/Scripts:/ c/Users/ayush/AppData/Local/Programs/Python/Python36:/ c/Users/ayush/AppData/Local/Microsoft/WindowsApps:/ c/python:/ c/Program Files/Docker Toolbox:/ c/Users/ayush/AppData/Roaming/npm:/ usr/bin/vendor_Perl:/ usr/bin/core_Perl:/ usr/bin/vendor_Perl:/ usr/bin/core_Perl)cryptogenツールが見つかりません。終了する

何が問題で、どうすれば解決できますか?

12
Ayush Gupta

あなたの問題の鍵は最後の文にあります:

cryptogenツールが見つかりません。終了する

./byfn.shを使用してサンプルを実行する前に、cryptogenツールがコンパイルされていることを確認する必要があります。ファブリックのホームフォルダーから実行するだけです。

make cryptogen configtxgen peer orderer peer-docker orderer-docker tools-docker

更新

不足しています: " プラットフォーム固有のバイナリ "、それらを取得する方法はこちらを参照してください。

9
Artem Barger

ステップ1: cd fabric-samples

ステップ2:

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/v1.0.5/scripts/bootstrap.sh | bash -s 1.0.5

ステップ3:cd fabric-samples/first-network

ステップ4:./byfn.sh -m generate

何が発生するかについての簡単な説明と、yes/noコマンドラインプロンプトが表示されます。 yで応答するか、Returnキーを押して、説明されているアクションを実行します。

2

答えが出ました。この問題は、実際にはコマンドツールである暗号源の欠如が原因で発生します。これを取得する最も簡単な方法は、プラットフォーム固有のバイナリをローカルマシンにダウンロードすることです。これがshです。

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

このshは、最新のFabric Dockerイメージとプラットフォーム固有のツールをプルするbashファイルをダウンロードします。その内容は次のとおりです。

#!/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*

これは、Fabric 1.0.1に基づいています。このbashの最新バージョンは、ここから入手できます。 http://hyperledger-fabric.readthedocs.io/en/latest/samples.html

Shの実行が完了すると、現在のディレクトリにbinという名前のフォルダーが作成されます。次に、このフォルダーの下のファイルを検索可能なフォルダーにコピーします。

cp ./bin/*  $GOROOT/bin

次に、タイプコマンドで暗号が存在するかどうかをテストできます。

which cryptogen
2
chan zanway

主な問題は、「cryptogen tool not found。exiting」というエラーの最後の行にあります。

この問題を解決するには、以下の手順に従ってください-

  1. コマンドを使用してプラットフォーム固有のバイナリをダウンロードします

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/v1.0.5/scripts/bootstrap.sh | bash -s 1.0.5

コマンドを実行すると、cryptディレクトリ、configtxgenなどのさまざまなツールがbinディレクトリにダウンロードされます。

  1. 以下のコマンドを使用して、binディレクトリをPATH変数に追加します

エクスポートPATH = $ PATH:[bin-directoryへのパス]

次に、ネットワークの再構築を試みます。これが誰かのお役に立てば幸いです。

2
Anand Soni

Macを使用している場合は、ターミナルで次のようにします。

brew tap hyperledger/fabric

brew install fabric-tools

その後、./byfn.sh -m generate command

2

この問題を解決するには、以下の手順に従ってください:

1.コマンドを使用してプラットフォーム固有のバイナリをダウンロードします

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

コマンドを実行すると、cryptディレクトリ、configtxgenなどのさまざまなツールがbinディレクトリにダウンロードされます。

1.以下のコマンドを使用して、binディレクトリをPATH変数に追加しますexport PATH =。/ bin:$ PATH

1
NTT_TNN

ワークスペースにcdした後、プラットフォーム固有のバイナリをダウンロードします。

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

およびバイナリのバージョンが構成ファイルと一致していることを確認してください

0
Shweta Gupta

cryptogenコマンドは、ファブリックtarballをインストール(または圧縮解除)したbinディレクトリの下にあります。したがって、シェルがcryptogenコマンドがどこにあるかがわかるように、$ PATH変数を更新する必要があります。このコードは動作するはずです:

export "$PATH:/<home>/<fabric>/bin"

ここで、<home>/home/sindelioなどのホームディレクトリで、<fabric>はファブリックがインストールされた場所です。

0
Sindelio

端末を閉じない限り、次の解決策が機能します。

エクスポートPATH = $ PATH:PATH_TO_FABRIC_SAMPLES/bin

0
Deepak Bhatta

おそらくこのステップを逃した

プラットフォーム固有のバイナリをダウンロード

https://hyperledger-fabric.readthedocs.io/en/release-1.1/samples.html

cd Fabric-Samplesでコマンドを実行する

0
Vipul Dabhi

それでも問題かどうかわからない....すでに@Artemで述べたものを使用するか、ツールのあるパスに......fabric-samples/binフォルダを追加することができます。 fabric-samplesと同じbyfn.shフォルダ

0
adnan.c