トランザクションはブロックチェーンネットワークに送信され、トランザクションが台帳に追加書き込まれ、ノード検証に合格するまで成功が返されます。
API
POST /api/v1/networks/{network}/transactions/invoke
URL パス引数 | 説明 |
network | Fabric チャンネル名 |
リクエスト パラメーター
URL クエリ
URL クエリ引数 | タイプ | 必須 | 説明 |
timeout | 整数 | False | 送信されたトランザクションが成功(有効)かどうかの確認の最大待機時間(秒)。デフォルトは 180 です。 |
content_check | 文字列 | False | Alibaba Cloud Content Moderation を使用してコンテンツを確認します。どの提案(「pass」、「block」、「review」)を拒否するかを設定します。複数値はカンマ(,)で区切ります。デフォルトは "" で、Content Moderation を使用しないことを意味します。 |
本文
Content-Type: application/json
名前 | タイプ | 必須 | 説明 |
chaincode | 文字列 | True | ターゲット スマートコントラクトの名前 |
args | List<String> | False | スマートコントラクト呼び出しの引数リスト。このパラメーター (args) が空でない場合、 function パラメーターと byte_args パラメーターは無視されます。 |
function | 文字列 | False | 呼び出すスマートコントラクト関数の名前 |
byte_args | List<String> | False | Base64 エンコードされたスマートコントラクト呼び出し引数(関数名なし) |
transient | Map<String, String> | False | この呼び出しの transient マップ。Key は名前、Value はデータです。 |
byte_transient | Map<String, String> | False | この呼び出しの transient マップ。Key は名前、Value は Base64 エンコードされたデータです(このパラメーターは transient とマージされ、その中の Key をオーバーライドします)。 |
invoke_chain | List<ChaincodeCall> | False | ターゲット スマートコントラクトが使用するスマートコントラクト名とプライベート データ コレクション リスト(もしあれば)を提供します。ターゲット スマートコントラクトが別のスマートコントラクトを呼び出す必要がある場合、このパラメーターは必須です。このパラメーターは、ディスカバリと、トランザクションがエンドースメント ポリシーを満たすようにするために使用されます。 |
ChaincodeCall
名前 | タイプ | 必須 | 説明 |
chaincode | 文字列 | True | スマートコントラクトの名前 |
collections | List<String> | False | スマートコントラクトがアクセスするコレクション名のリスト |
レスポンス
名前 | タイプ | 説明 |
Success | ブール値 | リクエストが成功したかどうかを示します。 |
Error | エラー | - |
Result | レスポンス | - |
エラー
名前 | タイプ | 説明 |
code | 整数 | エラーコード |
message | 文字列 | エラーの説明 |
request_id | 文字列 | このリクエストの ID |
レスポンス
名前 | タイプ | 説明 |
id | 文字列 | トランザクション ID |
status | 文字列 | スマートコントラクトから返されたステータスコード |
event | List<イベント> | トランザクションによって生成されたブロックチェーン イベントのリスト |
data | 文字列 | スマートコントラクトから返された Base64 エンコードデータ |
イベント
名前 | タイプ | 説明 |
id | 文字列 | イベント ID。チャンネル内で一意です。 |
name | 文字列 | イベント名 |
type | イベントタイプ | イベントタイプ(「Tx」、「Config」、「Contract」、「Block」)。ここでは常に「Contract」です。 |
content | 文字列 | イベントタイプが「Contract」の場合、Base64 エンコードされたイベントコンテンツです。 |
例
リクエスト例
curl -X POST "http://your.gateway.endpoint/api/v1/networks/channel3/transactions/invoke" -H "accept: application/json" -H "Authorization: Bearer <Your Access Token>" -H "Content-Type: application/json" -d "{\"chaincode\":\"sacc\",\"args\":[\"set\",\"provider\",\"aliyun\"],\"transients\":{\"key\":\"value\"}}"正常な戻りの例
{
"Success": true,
"Result": {
"id": "1bdbc050691cdf7c03faca74ebfa5711b18fb8acc23cabbd16a1a692d00785a1",
"status": "200",
"events": [],
"data": "YWxpeXVu"
},
"Error": {
"code": 200,
"message": "Success",
"request_id": "5945a095-5730-4f63-9ef9-ddbcb2cda8c8"
}
}エラーコード
詳細については、「エラーコード」をご参照ください。