問題タブ [hyperledger-fabric-sdk-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
192 参照

hyperledger-fabric - 暗黙的なポリシーの評価に失敗しました - 0 個のサブポリシーが満たされましたが、このポリシーでは「Writers」サブポリシーの 1 つを満たす必要があります

ネットワークを実行した後にチャネルを作成しようとするたびに、このエラーに直面します。ただし、ファブリックを削除して PC を再起動し、ファブリックの実行後に再度チャネルを作成すると、エラーは発生しなくなります。しかし、エラーをデバッグできません。

0 投票する
2 に答える
570 参照

node.js - 登録エンドポイントの呼び出しがエラーで失敗しました [エラー: 自己署名証明書]

ハイパーレジャー ファブリックのチュートリアル [1] に従って、ネットワークで Node.js SDK を実行しようとしています。管理者を自分の CA サーバーに正常に登録しましたが、次のステップ (新規ユーザーの登録) を試みると、自己署名証明書の使用に関するエラーが表示されます。

エラーがどの証明書を参照しているのかさえわかりません。CA サーバーによって使用されているものは、ルート証明書であるため、明らかに自己署名されています。adminIdentity の証明書は、前の登録手順で取得した CA サーバー自体から取得されます。

私の ca-server コンテナのログにはエラーが含まれていません。リクエストを開始してもログ エントリは生成されません。

からの (変更されていない) サンプル コードはfabric-samples/fabcarfabric-samples/basic-network明らかに問題なく動作します。私が知る限り、SDK コードはサンプルと機能的に同一であるため、構成のどこかにエラーが隠れていると思われます。

これは私のregisterUser.jsファイルです:

...そして私のconnection.jsonファイル:

ユーザーが正常に登録されることを期待していましたが、代わりに次のエラーが表示されました。

Failed to register user "user1": Error: Calling register endpoint failed with error [Error: self signed certificate]

このエラーを修正したり、さらに役立つ情報を入手したりするにはどうすればよいですか?

0 投票する
1 に答える
206 参照

node.js - HLF fabric-network が node-red から IBP2 ピアに接続できない

現在、IBM Blockchain Platform 2.0 を使用しています。fabric-network 1.4.0とで接続していfabric-client 1.4.0ます。

自分のマシンで単純な node.js スクリプトからイベントをリッスンすると、完全にうまく機能します。サンプル スクリプトは次のとおりです。

ただし、私の目標は、このコードを node-red ノードに含めることです (ここを確認してください。

ちょっとしたコンテキスト: 現在、これらのノードは検出を処理していないため、必要になる場合があります。私の仕事の目的は、これをこれらのノードに含めることです。

結果として、上記のコードをノード コードに挿入しようとしました。

次のエラーが発生します。

fabric-network両方の「環境」でバージョンを確認しましたが、1.4.0

違いが何であるか、および/またはこのエラーを引き起こす可能性があるものについての手がかりを誰かが持っていますか?


編集:

npm install PATHを使用する代わりにnode-red にリンクしてパッケージをテストするとnpm link、次のエラーが発生します。


編集: HLF ロギングからの詳細情報。ここでログ全体を見つけることができます

ADDRESSセキュリティのために、localhost アドレスを除いて、すべてのアドレスはorに変更されていますADDRESS:PORT(書かれた内容によって異なります)。

0 投票する
0 に答える
162 参照

node.js - Hyperledger fabric with node gets me 存在しない関数の呼び出しを要求しました

「first-network」をローカル ブロックチェーンとして使用してハイパーレジャー ファブリックでチェーンコードを作成し、コントラクトをデプロイしました。簡単なクエリ。

私のプログラムはtypescriptを使用してノードにあるため、distフォルダーを削除して実行するnpm run buildと、./byfn.sh downスクリプトはすべてのコンテナーとイメージを削除し、./byfn.sh upスクリプトを使用してすべてを開始しましたが、何を試してもこのエラーが発生します:

だから私は何か間違ったことをしているかもしれないと思ったので、私のメソッドをfabcar.tsの例に追加し、fabcarメソッドと私の両方でfabcarを実行するためにファブリックを再度開始しましたが、今回は同じエラーが発生しています私のすべてのメソッドで、fabcar の例の元のメソッドだけが認識されます。

では、fabric は古いバージョンのコードをどこに保存しているのでしょうか? すべての dist フォルダー、node_modules、コンテナー、およびイメージを削除しています。新しいブロックチェーンで公開している場合、コントラクトが更新されないのはなぜですか? 何かを変更するたびに、開発中でもバージョンを増やす必要がありますか?

ありがとう

0 投票する
1 に答える
185 参照

hyperledger-fabric - ハイパーレジャーファブリックでフロントエンドアプリがウォレットにアクセスする方法について

Hyperledger ファブリックでは、ウォレットはモバイルやラップトップなどのユーザーデバイスに保存され、ユーザーデバイスを保存する場合、フロントエンドはウォレットをどのように使用しますか?

前もって感謝します

0 投票する
0 に答える
50 参照

hyperledger-fabric - 特定のピアから承認を取り戻すにはどうすればよいですか?

またはを使用して、Hyperledger ファブリックでトランザクションを送信した後、特定のピアから裏書を取得する方法はありますcontract.submitTransaction()channel.sendTransaction()? これまでのところ、承認は常に、組織内の他のピアからではなく、同じピアから返されているようです。以下の私の環境の詳細を参照してください。また、node sdk sendTransactionProposal(request)'sChaincodeInvokeRequest の優先リストまたは無視リストを使用して特定のピアをターゲットにしても、違いはないようです。この問題に対処するための特定のドキュメントや代替リソースはありますか?

ChaincodeInvokeRequest{ targets: allPeers または peer2, // または別のピアが優先: peer2, ignore, peer1 }

環境の詳細 現在のセットアップ: 2 つのピアを持つ 1 つの組織

シンプルな承認ポリシー:

Fabric SDK ライブラリ:

ハイパーレジャー ファブリックのバージョン:v1.4.1

次のアプローチを使用して、sdk 内の特定のピアをターゲットにします。

予想された結果:

transaction1 - クライアントはトランザクションを peer1 に送信し、peer1 から承認を取得します。transaction2 - クライアントはトランザクションを peer2 に送信し、peer2 から承認を取得します。

実績:

transaction1 - クライアントはトランザクションを peer1 に送信し、peer1 から承認を取得します。transaction2 - クライアントはトランザクションを peer2 に送信し、peer1 から承認を取得します。

0 投票する
1 に答える
452 参照

hyperledger-fabric - ファブリック クライアント アプリケーションからトランザクションを送信する場合、どのピア SDK から実際にトランザクションをネットワークに送信しますか?

Hyperledger Fabric Web アプリの開発を行っています。チェーンコードが最初のネットワーク (合計 4 つのピア) にデプロイされている fabcar nodejs の例とまだ混乱しています。実行後、 でstartFabric.shトランザクションを照会または送信できますquery.js or invoke.js。その際、Fabric ノード SDK を介してネットワークと通信しています。たとえば、車の所有者を変更しようとするinvoke.jsと、この関数を変更して実行node invoke.jsするだけで、台帳内の特定の車の所有者が変更されます。ここで私の質問は、チェーンコードが現在インストールされている 4 つのピアがあり、どのピア SDK から実際にトランザクションをネットワークに送信するのかということです。別のピアからトランザクションを送信したい場合は?? 接続ピア (トランザクション送信ピア) をinvoke.js明確にするためにどのように定義できますか??