アトミック・トランザクションの問合せ
get
/restproxy/api/v2/atomicTransactions/{globalTransactionId}
アトミック・トランザクションを問い合せます。このエンドポイントは、グローバル(アトミック)・トランザクションIDを指定して、アトミック・トランザクションのステータスを問い合せるために使用されます。
リクエスト
サポートされるメディア・タイプ
- application/json
パス・パラメータ
- globalTransactionId(必須): string
グローバル・トランザクションID
問合せパラメータ
- role: string
使用するHyperledger Fabric登録
レスポンス
サポートされるメディア・タイプ
- application/json
200レスポンス
操作の成功
ルート・スキーマ: schema
型:
ソースの表示
object
- error: string
- result: object atomicTransactionResults
- returnCode(必須): string
許容値:
[ "Success", "Failure" ]
ネストしたスキーマ: atomicTransactionResults
型:
ソースの表示
object
- globalStatus: string
アトミック・トランザクションの現在のステータス
- globalTxid: string
グローバル・トランザクションID
- lrc: object atomicTransactionLRCResults
- transactions: array transactions
処理された個々のトランザクションの詳細
- txStartTime: string
トランザクションの実行開始時間
ネストしたスキーマ: atomicTransactionLRCResults
型:
ソースの表示
object
- ethResp: object atomicTransactionEthResponse
- txStatus: string
LRCトランザクションの現在のステータス
ネストしたスキーマ: atomicTransactionEthResponse
型:
ソースの表示
object
- block: integer
コミットされたトランザクションのブロック番号
- error: string
失敗の場合のエラー・メッセージ
- txHex: string
実行されたトランザクションを表す16進文字列
ネストしたスキーマ: atomicTransactionIndividualResults
型:
ソースの表示
object
- chaincode: string
呼び出されたチェーンコードのID
- channel: string
トランザクションが呼び出されたチャネルのID
- commit: object commit
トランザクションのコミット・フェーズの詳細
- prepare: object prepare
トランザクションの準備フェーズの詳細
- rollback: object rollback
トランザクションのロールバック・フェーズの詳細
- txstatus: string
個々のトランザクションの現在のステータス
ネストしたスキーマ: commit
型:
object
トランザクションのコミット・フェーズの詳細
ソースの表示
- error: string
トランザクションが失敗した場合のエラー・メッセージ
- txid: string
コミット・フェーズのトランザクションID
ネストしたスキーマ: prepare
型:
object
トランザクションの準備フェーズの詳細
ソースの表示
- error: string
トランザクションが失敗した場合のエラー・メッセージ
- txid: string
準備フェーズのトランザクションID
ネストしたスキーマ: rollback
型:
object
トランザクションのロールバック・フェーズの詳細
ソースの表示
- error: string
トランザクションが失敗した場合のエラー・メッセージ
- txid: string
ロールバック・フェーズのトランザクションID
400レスポンス
不正なリクエスト
401レスポンス
未認可
403レスポンス
禁止されています
404レスポンス
無効なパラメータ
500レスポンス
サービス使用不可
例
このエンドポイントは、グローバル(アトミック)・トランザクションIDを指定して、アトミック・トランザクションのステータスを問い合せるために使用されます。
次の例は、cURLを使用してRESTリソースに対するGETリクエストを送信し、アトミック・トランザクションを問い合せる方法を示しています。
curl -v -u <username>:<password> -X GET \ "https://<rest proxy of your blockchain instance>/api/v2/atomicTransactions/<global_transaction_id>" \ -H "accept: application/json"
たとえば、
curl -v -u <username>:<password> -X GET \ "https://myvm.oracle.com:10001/restproxy/api/v2/atomicTransactions/21438a99-9fd7-4f96-b0bf-259910a26006" \ -H "accept: application/json"
レスポンス本文の例
次の例に、成功したアトミック・トランザクションに対するJSON形式のレスポンス本文の内容を示します:
{ "returnCode": "Success", "error": "", "result": { "transactions": [ { "channel": "goods", "chaincode": "obcs-marbles", "txstatus": "Committed", "prepare": { "txid": "bb248ef3f948cb107417c3f66ea144910644dee8086a370d44687fd9fe262233" }, "commit": { "txid": "21068846ef85942f9df1ccfd27dcb95d509146c5a0d10c6366642215badcb3b4" }, "rollback": {} }, { "channel": "wallet", "chaincode": "obcs-example02", "txstatus": "Committed", "prepare": { "txid": "08d03d7170e7f696c79da0aa60142bbfdc08b3d92cee0d9423983dd19caf809c" }, "commit": { "txid": "ef9d8a824631f9e671162b81c7d1617080746ef3897b029cfbef1cfd1594d0ab" }, "rollback": {} } ], "globalStatus": "Success", "globalTxid": "21438a99-9fd7-4f96-b0bf-259910a26006", "txStartTime": "2022-08-15T16:16:19.2180799642" } }
この場合、globalStatus
に返される値はSuccess
で、アトミック・トランザクションを構成するすべてのトランザクションが正常にコミットされたことを示します。