4.4.1 区块链基础概述

4.4.1.1 接口返回

区块链基础接口的返回值统一定义如下:

名称 类型 描述
code String 操作状态码
detail Object 操作返回值

1.成功返回:

{“code”: “SUCCESS”, “detail”: “Object”},detail中是具体的返回值。

2.异常或失败返回

{“code”:“错误码”,“detail”:“描述信息”},参见4.6: 错误码及返回值

4.4.2 区块链基础接口列表

4.4.2.1 产生待签原文

接口说明:产生待签原文。

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/buildSendInfo

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 合约地址
bizId String 业务ID
blockLimit Integer 超时块号
method String 智能合约方法
params String[](Object...) 智能合约方法参数
regionId String 专区编号(专区链需要传)

返回结果:String类型的待签名数据。

返回示例:

{
  "code": "SUCCESS",
  "detail": "06b73778a8e436d5f2718dc0ca08e0e29737ebc317d32605baec662bbb6622b5"
}

4.4.2.2 发送交易及签名信息

接口说明:发送交易及签名数据上链

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 合约地址
bizId String 业务ID
blockLimit Integer 超时块号
method String 智能合约方法
signatureInBase64 String 待签原文的签名数据
params String[](Object...) 智能合约方法参数
regionId String 专区编号(专区链需要传)

注意:本接口参数内容除签名数据其他必须与产生待签原文 中的参数内容保持一致,签名数据为 产生待签原文 的返回值通过安全插件API的签名接口 签名后数据。

返回结果:String类型的交易hash,发送交易后并不代表交易成功上链,可通过交易hash查询交易结果。

返回示例:

{
  "code": "SUCCESS",
  "detail": "c8dc1744785632b81d29e311ff239c3d0747ab6a8b5ca04bfdc76e8883db6658"
}

4.4.2.3 根据合约地址和块号查询智能合约数据

接口说明:根据合约地址调用智能合约只读方法查询合约数据。

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/contract.json

队列事件:无

参数列表:

名称 类型 描述
blockNumber String 块号,可选。指定块号查询该块内容,不指定取最新块内容。
contractAddress String 合约地址
functionName String 智能合约方法名
params String[](Object...) 智能合约方法参数
regionId String 专区编号(专区链需要传)

接口返回:

{
  "code": "SUCCESS",
  "detail": {
    [field]": "[value]
    ...
  }
}

4.4.2.4 查询当前最新块块号

接口说明:查询当前最新块块号。

请求方式:GET

请求地址:http://BROP_HOST:PORT/common/blockNumber.json

队列事件:无

参数列表:无

接口返回:

名称 类型 描述
code String 当前操作状态
detail Object 当前区块链最新块号

返回示例:

{
  "code": "SUCCESS",
  "detail": 846647
}

4.4.2.5 查询数据库同步块号

接口说明:查询数据库同步块号。

请求方式:GET

请求地址:http://BROP_HOST:PORT/common/blockNumberDB.json

队列事件:无

参数列表:无

接口返回:

名称 类型 描述
code String 当前操作状态
detail Object 当前数据库同步块号

返回示例:

{
  "code": "SUCCESS",
  "detail": 460031
}

4.4.2.6 根据txHash获取交易(since v4.5.1

接口说明:用txHash查询交易,返回单条交易数据,同时返回该交易相关联的合约业务数据快照。

请求方式:POST

请求地址:http://BROP_HOST:PORT/transaction/getDBTransactionByTxHash.json

队列事件:无

参数列表:

名称 类型 描述
txHash String 必填,交易哈希

接口返回:

名称 类型 描述
transaction TransactionInfo 交易信息

TransactionInfo:

名称 类型 描述
txHash String 交易hash
sender String 发送方的公钥地址
bizId String 业务ID
resultCode Integer 交易成功失败标识
blockNumber Integer 块号
blockTime String 块时间
dataSnapshots List<ContractInfo> 合约数据快照列表

ContractInfo:

名称 类型 描述
contractAddress String 合约地址
contractName String 合约名称
operateType String 操作类型(创建或更新)
contractData Object 合约数据对象

返回示例:

{
    "code": "SUCCESS",
    "detail": {
        "transactions": [
            {
                "txHash": "36d41ee894b0277e5d24e2ec7bb6bcc8bace18d1244f15d03a73d57ba2d88fca",
                "bizId": "0000000000000000010",
                "sender": "bc47cfeb49ccde185100ca542df60f8146b8c22e",
                "resultCode": 0,
                "blockNumber": 5666816,
                "blockTime": "2018-08-24T15:28:18+08:00",
                "dataSnapshots": [
                    {
                        "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                        "contractName": "Record",
                        "operateType": "CREATE",
                        "contractData": {
                            "updatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "registryAddress": "b6ea5b1d9accf2ffd98b6fd736eaa71a5864e992",
                            "preSeqId": "",
                            "bizId": "0000000000000000010",
                            "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                            "recordData": "f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b",
                            "creatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "seqId": "cstc00000010",
                            "customString": ""
                        }
                    }
                ]
            }
        ]
    }
}

4.4.2.7 发送交易上链

接口说明:向区块链发送交易。接口会根据交易参数计算交易的待签原文,接着将交易根据中间件配置的加密机索引进行交易签名,最后将签名后的交易发送到区块链上。

请求方式:POST

请求地址:http://BROP_HOST:PORT/transaction/sendTransaction.json

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 合约地址
bizId String 业务ID
blockLimit String 超时块号
method String 合约方法
params String[](Object...) 合约构造函数参数
hsmUserId String 加密机用户索引
regionId String 专区编号(专区链需要传)

返回结果:String类型的交易hash,发送交易后并不代表交易成功上链,可通过交易hash查询交易结果。

返回示例:

{
  "code": "SUCCESS",
  "detail": "c8dc1744785632b81d29e311ff239c3d0747ab6a8b5ca04bfdc76e8883db6658"
}

4.4.2.8 根据bizId查询交易(since v4.5.1

接口说明:用bizId查询交易,获得该bizId关联的交易数据数组,同时返回该交易相关联的合约数据快照。如果查不到交易,则返回空数组。

请求方式:POST

请求地址:http://BROP_HOST:PORT/transaction/listDBTransactionsByBizid.json

队列事件:无

参数列表:

名称 类型 描述
bizId String 必填,业务ID
regionId String 专区编号(专区链需要传)

接口返回:

名称 类型 描述
transactions List<TransactionInfo> 交易信息列表

TransactionInfo:

名称 类型 描述
txHash String 交易hash
sender String 发送方的公钥地址
bizId String 业务ID
resultCode Integer 交易成功失败标识
blockNumber Integer 块号
blockTime String 块时间
dataSnapshots List<ContractInfo> 合约数据快照列表

ContractInfo:

名称 类型 描述
contractAddress String 合约地址
contractName String 合约名称
operateType String 操作类型(创建或更新)
contractData Object 合约数据对象

返回示例:

{
    "code": "SUCCESS",
    "detail": {
        "transactions": [
            {
                "txHash": "36d41ee894b0277e5d24e2ec7bb6bcc8bace18d1244f15d03a73d57ba2d88fca",
                "bizId": "0000000000000000010",
                "sender": "bc47cfeb49ccde185100ca542df60f8146b8c22e",
                "resultCode": 0,
                "blockNumber": 5666816,
                "blockTime": "2018-08-24T15:28:18+08:00",
                "dataSnapshots": [
                    {
                        "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                        "contractName": "Record",
                        "operateType": "CREATE",
                        "contractData": {
                            "updatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "registryAddress": "b6ea5b1d9accf2ffd98b6fd736eaa71a5864e992",
                            "preSeqId": "",
                            "bizId": "0000000000000000010",
                            "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                            "recordData": "f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b",
                            "creatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "seqId": "cstc00000010",
                            "customString": ""
                        }
                    }
                ]
            }
        ]
    }
}

4.4.2.9根据流水号查询存证记录

接口说明:根据流水号分页返回存证记录信息,按块号排序(默认升序)。

请求方式:POST

请求地址:http://BROP_HOST:PORT/record/search.json

队列事件:无

参数列表:

名称 类型 描述
seqId String 必填,流水号
pageNo int 选填,页码,默认为1
sort String 排序规则,“desc”:降序,“asc”:升序。默认升序
regionId String 专区编号(专区链需要传)

接口返回:

名称 类型 描述
records List<Record> 存证记录
pageNo int 页码
pageSize int 页容量,默认100
totalCount int 总记录数

Record:

名称 类型 描述
id String id
contractAddress String 合约地址
bizId String 业务ID
txHash String 交易hash
operateType String 合约操作类型,“CREATE”:创建合约,“UPDATE”:修改合约
blockNumber BigInteger 块号
updatorAddress String 修改人身份合约地址
registryAddress String 存证合约合约地址
creatorAddress String 创建人身份合约地址
preSeqId String 前序流水号
seqId String 流水号
recordData String 存证信息
customString String 存证自定义信息
name String 存证记录合约名,“Record”:存证记录

返回示例:

{
  "code": "SUCCESS",
  "detail": {
    "record": [
      {
        "id": "5af030d69f46831aac60bbb8",
        "contractAddress": "06f86deefac3f12d488b4f1ca853df819173f20b",
        "bizId": "2018050710512311",
        "txHash": "0x3bb5facebefa7c1336a36fa6585d2ac932821e577d91aee59f88a0cdc0abacc7",
        "operateType": "CREATE",
        "blockNumber": 1837692,
        "updatorAddress": "7840b7344f2d4923535b3a49ef732ccc5cb9d53e",
        "registryAddress": "844e11cc40ed20865cca04e2d322dd3c76bdcfac",
        "preSeqId": "",
        "recordData": "lalallaalal",
        "creatorAddress": "7840b7344f2d4923535b3a49ef732ccc5cb9d53e",
        "seqId": "12345679",
        "customString": "lalala",
        "name": "Record"
      }
    ],
    "pageNo": 1,
    "pageSize": 100,
    "totalCount": 1
  }
}

4.4.2.10 获取程序版本号信息

接口说明:查询当前运行程序的版本号信息。

请求方式:GET

请求地址:http://BROP_HOST:PORT/common/getVersion.json

队列事件:无

参数列表:无

返回示例:

{
  "code": "SUCCESS",
  "detail": [
    {
      "projectName": "middleware-server",
      "version": "4.1.0"
    },
    {
      "projectName": "adapter-corsac",
      "version": "4.1.0"
    }
  ]
}

4.4.2.11 根据txHash获取交易(since v4.5.1不建议使用)

接口说明:用txHash查询交易,返回单条交易数据,同时返回该交易相关联的合约业务数据快照。

请求方式:GET

请求地址:http://BROP_HOST:PORT/transaction/{txHash}.json

队列事件:无

参数列表:

名称 类型 描述
txHash String 必填,交易哈希

接口返回:

名称 类型 描述
transaction TransactionInfo 交易信息

TransactionInfo:

名称 类型 描述
txHash String 交易hash
sender String 发送方的公钥地址
bizId String 业务ID
resultCode Integer 交易成功失败标识
blockNumber Integer 块号
blockTime String 块时间
dataSnapshots List<ContractInfo> 合约数据快照列表

ContractInfo:

名称 类型 描述
contractAddress String 合约地址
contractName String 合约名称
operateType String 操作类型(创建或更新)
contractData Object 合约数据对象

返回示例:

{
    "code": "SUCCESS",
    "detail": {
        "transaction": {
            "txHash": "36d41ee894b0277e5d24e2ec7bb6bcc8bace18d1244f15d03a73d57ba2d88fca",
            "bizId": "0000000000000000010",
            "sender": "bc47cfeb49ccde185100ca542df60f8146b8c22e",
            "resultCode": 0,
            "blockNumber": 5666816,
            "blockTime": "2018-08-24T15:28:18+08:00",
            "dataSnapshots": [
                {
                    "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                    "contractName": "Record",
                    "operateType": "CREATE",
                    "contractData": {
                        "updatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                        "registryAddress": "b6ea5b1d9accf2ffd98b6fd736eaa71a5864e992",
                        "preSeqId": "",
                        "bizId": "0000000000000000010",
                        "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                        "recordData": "f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b",
                        "creatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                        "seqId": "cstc00000010",
                        "customString": ""
                    }
                }
            ]
        }
    }
}

4.4.2.12 根据bizId查询交易(since v4.5.1不建议使用)

接口说明:用bizId查询交易,获得该bizId关联的交易数据数组,同时返回该交易相关联的合约数据快照。如果查不到交易,则返回空数组。

请求方式:GET

请求地址:http://BROP_HOST:PORT/transaction/search.json?bizId={bizId}

队列事件:无

参数列表:

名称 类型 描述
bizId String 必填,业务ID

接口返回:

名称 类型 描述
transactions List<TransactionInfo> 交易信息列表

TransactionInfo:

名称 类型 描述
txHash String 交易hash
sender String 发送方的公钥地址
bizId String 业务ID
resultCode Integer 交易成功失败标识
blockNumber Integer 块号
blockTime String 块时间
dataSnapshots List<ContractInfo> 合约数据快照列表

ContractInfo:

名称 类型 描述
contractAddress String 合约地址
contractName String 合约名称
operateType String 操作类型(创建或更新)
contractData Object 合约数据对象

返回示例:

{
    "code": "SUCCESS",
    "detail": {
        "transactions": [
            {
                "txHash": "36d41ee894b0277e5d24e2ec7bb6bcc8bace18d1244f15d03a73d57ba2d88fca",
                "bizId": "0000000000000000010",
                "sender": "bc47cfeb49ccde185100ca542df60f8146b8c22e",
                "resultCode": 0,
                "blockNumber": 5666816,
                "blockTime": "2018-08-24T15:28:18+08:00",
                "dataSnapshots": [
                    {
                        "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                        "contractName": "Record",
                        "operateType": "CREATE",
                        "contractData": {
                            "updatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "registryAddress": "b6ea5b1d9accf2ffd98b6fd736eaa71a5864e992",
                            "preSeqId": "",
                            "bizId": "0000000000000000010",
                            "contractAddress": "8a36c1164780efa819fe2ed569c2f1f5c0c7929d",
                            "recordData": "f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b",
                            "creatorAddress": "da378d681bc0c592e08f09024ddc75e2eba1a598",
                            "seqId": "cstc00000010",
                            "customString": ""
                        }
                    }
                ]
            }
        ]
    }
}

results matching ""

    No results matching ""