发起上链交易

向区块链网络发送交易, 交易通过节点验证并被成功写入账本后返回。

API 路径

POST /api/v1/networks/{network}/transactions/invoke

Url Path 参数

描述

network

通道名称

请求参数

URL Query

URL Query 参数

类型

是否必选

描述

timeout

Integer

等待交易完成的超时时间,单位秒,默认值 180。

content_check

String

使用阿里云内容安全服务对数据进行合规检查,并根据检测结果拒绝该笔交易上链(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"
  }
}

错误码

请参考错误码