向區塊鏈網路發送交易, 交易通過節點驗證並被成功寫入賬本後返回。
API 路徑
POST /api/v1/networks/{network}/transactions/invoke
Url Path 參數 | 描述 |
|---|---|
network | 通道名稱 |
請求參數
URL Query
URL Query 參數 | 類型 | 是否必選 | 描述 |
|---|---|---|---|
timeout | Integer | 否 | 等待交易完成的逾時時間,單位秒,預設值 180。 |
content_check | String | 否 | 使用阿里雲Alibaba Content Security Service服務對資料進行合規檢查,並根據檢測結果拒絕該筆交易上鏈(review:拒絕疑似內容上鏈;block:拒絕違規文本上鏈);要拒絕多個結果時,使用逗號(,)分割,例如:”block, review”。預設值空,表示不檢測。 |
Body
Content-Type: application/json
名稱 | 類型 | 是否必選 | 描述 |
|---|---|---|---|
chaincode | String | 是 | 調用的鏈碼名稱 |
args | List<String> | 否 | 調用鏈碼的參數列表,當該參數不為空白時,會忽略下列 function、byte_args 兩個參數 |
function | String | 否 | 調用的鏈碼函數名稱 |
byte_args | List<String> | 否 | 經過Base64編碼的鏈碼調用參數(不含函數名) |
transient | Map<String, String> | 否 | 調用鏈碼的隱私參數字典,Key 為參數名, Value 為參數值 |
byte_transient | Map<String, String> | 否 | 調用鏈碼的隱私參數字典,Key 為參數名, Value 為經過Base64編碼後的參數值(該參數會與 transient 合并,會覆蓋 transient 中的 Key ) |
invoke_chain | List<ChaincodeCall> | 否 | 如果目標鏈碼有跨鏈碼調用時,必須填寫此參數。提供跨鏈碼調用的鏈碼名及相應的隱私資料集(如果使用),以便使用Service Discovery和滿足背書策略。 |
ChaincodeCall
名稱 | 類型 | 是否必選 | 描述 |
|---|---|---|---|
chaincode | String | 是 | 鏈碼名稱 |
collections | List<String> | 否 | 鏈碼訪問的隱私資料集的名稱列表。 |
返回結果
名稱 | 類型 | 描述 |
|---|---|---|
Success | Boolean | 請求是否成功 |
Error | Error | - |
Result | Response | - |
Error
名稱 | 類型 | 描述 |
|---|---|---|
code | Integer | 錯誤碼 |
message | String | 錯誤描述資訊 |
request_id | String | 請求ID |
Response
名稱 | 類型 | 描述 |
|---|---|---|
id | String | 交易ID |
status | String | 鏈碼返回的狀態代碼 |
event | List<Event> | 證券交易所產生的區塊鏈事件列表 |
data | String | 經過Base64編碼的鏈碼返回資料 |
Event
名稱 | 類型 | 描述 |
|---|---|---|
id | String | 事件ID,通道內唯一 |
name | String | 事件名稱 |
type | EventType | 事件類型(“Tx”, “Config”, “Contract”, “Block”),對於發起上鏈交易的介面,返回的結果只包含 “Contract”類型事件(如有)。 |
content | String | 當 EventType 為 “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"
}
}錯誤碼
請參考錯誤碼