全部产品

发起查询交易

更新时间:2020-04-03 11:58

调用链码,查询区块链账本中的数据。

API

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

Url Path 参数 描述
network 通道名称

请求参数

URL Query

URL Query 参数 类型 是否必选 描述
timeout Integer 等待查询返回的超时时间,单位秒,默认值 180

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 )

返回结果

名称 类型 描述
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编码的智能合约事件内容(如有)

示例

请求示例

  1. curl -X POST "http://your.gateway.endpoint/api/v1/networks/channel3/transactions/query" -H "accept: application/json" -H "Authorization: Bearer <Your Access Token>" -H "Content-Type: application/json" -d "{\"chaincode\":\"sacc\",\"args\":[\"get\",\"provider\"],\"transients\":{\"key\":\"value\"}}"

正常返回示例

  1. {
  2. "Success": true,
  3. "Result": {
  4. "id": "3f850796a57db7178f8e367cce736a228a8e77544ef5c92a564f9cf0ad8893c4",
  5. "status": "200",
  6. "events": [],
  7. "data": "YWxpeXVuMQ=="
  8. },
  9. "Error": {
  10. "code": 200,
  11. "message": "Success",
  12. "request_id": "5640793d-219e-4e2f-9725-988ce11ee6b6"
  13. }
  14. }

错误码

请参考错误码