トランザクションをブロックチェーンネットワークに送信し、当該トランザクションがレジャーやノード検証を通過した後に結果を返します。
リクエスト構文
POST /api/v1/networks/{network}/transactions/invokeパスパラメーター
| パラメーター | 説明 |
|---|---|
network | Fabric チャンネル名。 |
クエリパラメーター
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
timeout | 整数 | いいえ | 送信されたトランザクションが成功したかどうかを確認するための最大待機時間(秒単位)。デフォルト値:180。 |
content_check | 文字列 | いいえ | Content Moderation のチェック構成。どのモデレーション判定(pass、block、または review)でリクエストが拒否されるかを指定します。複数の値はカンマ(,)で区切ります。デフォルト値:""(Content Moderation は無効化されています)。 |
リクエスト本文
Content-Type:application/json
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
chaincode | 文字列 | はい | 対象となるスマートコントラクト(チェーンコード)の名称。 |
args | List<String> | いいえ | スマートコントラクト呼び出しの引数。この args を指定した場合、function および byte_args パラメーターは無視されます。 |
function | 文字列 | いいえ | 呼び出すスマートコントラクトの関数名。 |
byte_args | List<String> | いいえ | 関数名を除く、スマートコントラクト呼び出しの Base64 エンコード済み引数。 |
transient | Map<String, String> | いいえ | 本呼び出し用の transient マップ。キーは名前、値はデータです。 |
byte_transient | Map<String, String> | いいえ | 本呼び出し用の transient マップ(値が Base64 エンコード済み)。transient と統合され、byte_transient のキーが transient の同名キーをオーバーライドします。 |
invoke_chain | List<ChaincodeCall> | いいえ | 対象スマートコントラクトが呼び出すスマートコントラクトおよびその非公開データコレクションの一覧。対象スマートコントラクトが他のスマートコントラクトを呼び出す場合に必須です。ディスカバリーおよびトランザクションがエンダースメントポリシーを満たすことを保証するために使用されます。 |
ChaincodeCall オブジェクト
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
chaincode | 文字列 | はい | スマートコントラクトの名称。 |
collections | List<String> | いいえ | スマートコントラクトがアクセスする非公開データコレクションの名称。 |
レスポンス要素
| フィールド | 型 | 説明 |
|---|---|---|
Success | ブール値 | リクエストが成功したかどうかを示します。 |
Error | Error | エラーの詳細情報。 |
Result | Response | トランザクションの結果。 |
Error オブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
code | 整数 | エラーコード。 |
message | 文字列 | エラーメッセージ。 |
request_id | 文字列 | リクエスト ID。 |
Result オブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
id | 文字列 | トランザクション ID。 |
status | 文字列 | スマートコントラクトから返された状態コード。 |
event | List<Event> | トランザクションによって生成されたブロックチェーンイベントの一覧。 |
data | 文字列 | スマートコントラクトから返された Base64 エンコード済みデータ。 |
Event オブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
id | 文字列 | チャンネル内で一意なイベント ID。 |
name | 文字列 | イベント名。 |
type | EventType | イベントタイプ。有効な値: Tx、Config、Contract、Block。トランザクション呼び出しの場合、この値は常に Contract です。 |
content | 文字列 | イベントの内容。type が 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"
}
}エラーコード
エラーコードの一覧については、「エラーコード」をご参照ください。