チェーンコードの問合せ
post
/restproxy/api/v2/channels/{channelName}/chaincode-queries
チェーンコードを問い合せます。このエンドポイントは、チャネルにすでにインストールされてインスタンス化されているチェーンコード・アプリケーションでサポートされている問合せ関数を呼び出すために使用されます。
リクエスト
サポートされるメディア・タイプ
- application/json
パス・パラメータ
- channelName(必須): string
チャネルのID
チェーンコードの問合せリクエスト
ルート・スキーマ: schema
型:
ソースの表示
object
- args(必須): array args
チェーンコードに対する引数
- chaincode(必須): string
チェーンコードの名前
- peer: string
ターゲット・ピアのエンドポイント
- role: string
使用するHyperledger Fabric登録の名前
- sameOrgEndorser: boolean
デフォルト値:
false
この組織のピアのみを選択するかどうかを指定します。trueに設定すると、ピア・フィールドを指定できません。 - timeout: integer(int64)
デフォルト値:
18000
チェーンコードの呼出しのタイムアウト(ミリ秒) - transientMap: object transientMap
使用可能なその他のプロパティ: additionalPropertiesチェーンコードのtransientMap
レスポンス
サポートされるメディア・タイプ
- application/json
200レスポンス
操作の成功
ルート・スキーマ: schema
型:
ソースの表示
object
- error: string
デフォルト値:
- result: object result
- returnCode(必須): string
許容値:
[ "Success", "Failure" ]
ネストしたスキーマ: result
型:
ソースの表示
object
- encode(必須): string
許容値:
[ "UTF-8", "JSON", "base64" ]
- message: string
- payload(必須):
400レスポンス
不正なリクエスト
401レスポンス
未認可
403レスポンス
禁止されています
404レスポンス
無効なパラメータ
500レスポンス
サービス使用不可
例
このエンドポイントは、チャネルにすでにインストールされてインスタンス化されているチェーンコード・アプリケーションでサポートされる関数を呼び出すために使用されます。
ノート:
このエンドポイントを使用して、元帳の値を変更する機能を呼び出すことはできません。次の例は、cURLを使用してRESTリソースに対するGETリクエストを発行し、チェーンコード問合せ関数を呼び出す方法を示しています。
curl -v -u <username>:<password> -X POST \ "https://<restproxy of your Blockchain instance>/api/v2/channels/<channel_name>/chaincode-queries" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data @<JSON file with the request parameters>
たとえば、
curl -v -u <username>:<password> -X POST \ "https://myvm.oracle.com:10001/restproxy/api/v2/channels/default/chaincode-queries" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data @file.json
file.json
の内容は次のとおりです。{ "chaincode": "obcs-example02", "args":["query","b"], "timeout": 18000, "peer": "myvm.oracle.com:10036" }
説明:
chaincode
は、Balance Transferサンプル・チェーンコードのチェーンコードIDです。args
は、呼び出すチェーンコード問合せ関数とそのパラメータを指定します。timeout
は、トランザクションがタイムアウトするまでの最大ミリ秒を指定します。peer
は、このトランザクションのピア・ノードを示します。
ノート:
ブロックチェーン・インスタンスのRESTプロキシ値は、インスタンス・コンソールの「ノード」タブから確認できます。レスポンス本文の例
JSON形式のレスポンス本文のコンテンツの例を次に示します。
{ "returnCode": "Success", "error": "", "result": { "payload": 2200, "encode": "JSON" } }
この場合、payload
に返される値(2200)は、リクエストで指定されたチェーンコード問合せ関数によって返される結果です。