1

Fabric Network Setup ガイドの助けを借りて、4 つのピアをセットアップしました。CC をデプロイし、REST API 呼び出しを使用して呼び出し関数を呼び出すことができました。

両方のメッセージは成功しましたが、クエリ メッセージは単に失敗しました。同じコマンド セットが dev モード (peer node start --peer-chaincodedev) でインスタンス化された単一のピアに適用された場合に正常に動作するため、これは奇妙です。

4 つのノードは Docker コンテナーを使用してセットアップされていることに注意してください。クエリに対する JSON 応答の例を次に示します。

{
"jsonrpc":"2.0",
"error":{
"code":-32003,
"message":"Query failure",
"data":"Error when querying chaincode: Error:Failed to launch chaincode spec(Could not get deployment transaction for 04233c6dd8364b9f0749882eb6d1b50992b942aa0a664182946f411ab46802a88574932ccd75f8c75e780036e363d52dd56ccadc2bfde95709fc39148d76f050 - LedgerError - ResourceNotFound: ledger: resource not found)"
},
"id":5
}

インボーク コールの後に取得したハッシュに基づいてトランザクションのデータを取得するために GET コールを実行したところ、指定されたトランザクションが見つからないという応答が返されました。

ブロック内のデータを表示すると、データが含まれていないと思われるブロックが生成されます。つまり、展開トランザクションが単に失敗したことを意味します。

編集: 以下は、URL http://172.17.0.2:7050/chaincode (POST)でのデプロイ用に JSON 経由で渡されるパラメーターです。

{
"jsonrpc":"2.0",
"method":"deploy",
"params":{
"type":1,
"chaincodeID":{
"path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"
},
"ctorMsg":{
"function":"init",
"args":[
"a",
"100",
"b",
"200"
]
}
},
"id":1
}
4

1 に答える 1

0

チェーンコードをデプロイするときにログを確認してください。メッセージが表示された場合Error building images: Tag latest not found in repository docker.io/hyperledger/fabric-baseimage. 、問題は docker image hyperledger/fabric-baseimage が見つからないことだと思います。

この問題を解決するには、hyperledger/fabric-baseimage イメージをプルして最新としてタグ付けするだけです

docker pull hyperledger/fabric-baseimage:x86_64-0.2.2
docker tag <image_id> hyperledger/fabric-baseimage:latest

基本的に、チェーンコードをデプロイすると、ピア ノードは docker ホストに、チェーンコードを実行するための fabric-baseimage を実行するよう要求します。チェーンコードを正常にデプロイできれば、実行されているdocker psことがわかります。dev-node_name-04233c6dd8364b9f0749882eb6d1b50992b942aa0a664182946f411ab46802a88574932ccd75f8c75e780036e363d52dd56ccadc2bfde95709fc39148d76f050

于 2016-12-20T11:24:41.123 に答える