4.9.1 队列事件定义概述

各个业务系统通过http调用中间件服务的接口,中间件服务端处理完业务,并同步区块数据,根据具体的情况选择合适的消息模式将数据传到RocketMQ队列中。业务系统再调用相应约定好的消息模式取得相应的数据。队列事件会将区块链所有业务数据返回回来,用户可通过相应字段过滤和自己有关的数据。返回结果中的状态码code在交易执行返回码中解释。注意,在下列队列事件类型中,标题名即是队列事件类型Tag名,具体使用方法请参考开源的RocketMQ说明。

4.9.1.1 EVENT_BLOCKNUMBER

消息类型:String

描述:区块链块基本信息,可通过该事件判断交易是否超时,即块号大于超时块号blockLimit,还没有交易结果,交易超时。

事件返回:

名称 类型 描述
blockNumber BigInteger 块号
blockHash String 块hash
preBlockHash String 前置块hash
blockTime long 出块时间

事件返回:

{
  "blockNumber": 461429,
  "blockHash": "6baff293e52eb64c8f08af1e979a0232799f7e4099af22b7777afca4f995ec21",
  "preBlockHash": "1b20b6fa1eb1882d1b3b78f21219064a42b50c8d3a7b1a6b4edf298c16f6115b",
  "blockTime": 1523258534000
}

4.9.1.2 EVENT_TX_RECORDED

消息类型:String

描述:交易上链结果

事件返回:

名称 类型 描述
success boolean 交易是否成功
bizId String 业务ID
txHash String 交易hash
code int 状态码
contractList List<String> 交易调用的合约地址列表
blockNumber BigInteger 交易所属块块号
regionId String 专区编号(专区链才有)
regionPageHash String 专区页哈希(专区链才有)

事件示例:

{
  "txHash": "bfa38721a1329b62c86d3d89eb29bf50066ab7248051d8e46c2ff6d72f5f61e6",
  "success": true,
  "bizId": "15232584904663177560751671767456",
  "code": 0,
  "blockNumber": 461416,
  "signer": "aaaffeb54c563c3eee2eec1ada933fdb5c07122b",
  "contractList": [
    "55086cef9e6bd12bc9d98c80f268b7fb9a6ca00b"
  ]
}

4.9.1.3 EVENT_CONTRACT_CREATE

消息类型:String

描述:收到合约创建事件,比如创建存证记录

事件返回:

名称 类型 描述
bizId String 业务ID
contractAddress String 合约地址
data Object 合约内容:tableName(合约名,“Record” :存证记录合约)、create(是否是新建合约)、tableColumn(合约字段)
timestamp long 事件生成时间
blockNumber BigInteger 块号
txHash String 交易hash
regionId String 专区编号(专区链才有)
regionPageHash String 专区页哈希(专区链才有)

事件示例:

{
  "contractAddress": "687f8d1c6e87892ad431c58ed23193f2a206d34c",
  "bizId": "15232584398987404768042364175660",
  "timestamp": 1523258444000,
  "blockNumber": 461399,
  "txHash": "d69e14de28455821f8b01142c314337d6cdc568d90c16eda240b73299b838dc5",
  "data": [
    {
      "tableName": "Record",
      "create": true,
      "tableColumn": {
        "updatorAddress": "ab4b0a79df5f1d710fe3fd4613312bc60e1fbcf7",
        "registryAddress": "55086cef9e6bd12bc9d98c80f268b7fb9a6ca00b",
        "preSeqId": null,
        "bizId": "15232584398987404768042364175660",
        "contractAddress": "687f8d1c6e87892ad431c58ed23193f2a206d34c",
        "recordData": "recordData",
        "creatorAddress": "ab4b0a79df5f1d710fe3fd4613312bc60e1fbcf7",
        "seqId": "record-1523258439898",
        "customString": "customString"
      }
    }
  ]
}

4.9.1.4 EVENT_CONTRACT_UPDATED

消息类型:String

描述:收到智能合约更新事件,比如更新存证记录

事件返回:

名称 类型 描述
contractAddress String 合约地址
bizId String 业务ID
timestamp long 事件生成时间
data Object 合约内容:tableName(合约名,“Record” :存证记录合约)、create(是否是新建合约)、tableColumn(合约字段)
blockNumber BigInteger 块号
txHash String 交易hash
regionId String 专区编号(专区链才有)
regionPageHash String 专区页哈希(专区链才有)

事件示例:

{
  "contractAddress": "c8375c01b56024276206d342d9c7902ad7e3207d",
  "bizId": "15232609064943480557577484125530",
  "timestamp": 1523260910000,
  "blockNumber": 462221,
  "txHash": "13aef81b2ff6d80ddfa326bba1853f908857aca4843d6fef85f1c029cd56877e",
  "data": [
    {
      "tableName": "Record",
      "create": false,
      "tableColumn": {
        "updatorAddress": "ab4b0a79df5f1d710fe3fd4613312bc60e1fbcf7",
        "registryAddress": "b6ae9b3d32a5dfc6e5403c7c27f31d3994dc54fc",
        "preSeqId": null,
        "bizId": "15232609064943480557577484125530",
        "contractAddress": "c8375c01b56024276206d342d9c7902ad7e3207d",
        "recordData": "recordData",
        "creatorAddress": "ab4b0a79df5f1d710fe3fd4613312bc60e1fbcf7",
        "seqId": "record-1523260907043",
        "customString": "customString"
      }
    }
  ]
}

4.9.1.5 EVENT_AUTOTXRETRY_SUCCESS

消息类型:String

描述:收到重试交易成功事件

事件返回:

名称 类型 描述
flowNumber String 交易流水号
blockLimit long 超时块号
bizId String 业务ID
contractAddress String 合约地址
txHash String 交易哈希
blockNumber long 交易存储的块号
retryTimes int 重试次数
txStatus String 交易状态
description String 错误描述
createTime String 创建时间
updateTime String 修改时间
regionId String 专区编号(专区链才有)

事件示例:

{
  "flowNumber": "15232584904663177560751671767456",
  "blockLimit": 10021,
  "bizId": "12937492347927937",
  "contractAddress": "e3772c2001aca5cf6a098523442d8692b98b2e8f",
  "txHash": "fae20e7c0b906f050063b3e9840f62f3b46f80369306e6e24d4e217ab4e0e181",
  "blockNumber": 12838,
  "retryTimes": 1,
  "txStatus": "SUCCESS",
  "description": "",
  "createTime": "2018-09-19 14:20:00",
  "updateTime": "2018-09-19 19:20:00"
}

4.9.1.6 EVENT_AUTOTXRETRY_INVALID

消息类型:String

描述:收到重试交易失效事件

事件返回:

名称 类型 描述
flowNumber String 交易流水号
blockLimit long 超时块号
bizId String 业务ID
retryTimes int 重试次数
txStatus String 交易状态
txHash String 交易哈希
description String 错误描述
createTime String 创建时间
updateTime String 修改时间
regionId String 专区编号(专区链才有)

事件示例:

{
  "flowNumber": "15232584904663177560751671767456",
  "blockLimit": 10021,
  "bizId": "12937492347927937",
  "retryTimes": 1,
  "txStatus": "INVALID",
  "txHash": "fae20e7c0b906f050063b3e9840f62f3b46f80369306e6e24d4e217ab4e0e181",
  "description": "",
  "createTime": "2018-09-19 14:20:00",
  "updateTime": "2018-09-19 19:20:00"
}

results matching ""

    No results matching ""