接口说明

[TOC]

1 区块链管理模块

1.1 新增链信息

1.1.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /chain/new
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

1.1.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 chainName string 链名称
3 chainType int 链类型(0-非国密,1-国密)
4 description string 备注

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/chain/new
{
    "chainId": 100001,
    "chainName": "链一",
    "chainType": 0,
    "description": "test"
}

1.1.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 节点信息对象
3.1 chainId int 链编号
3.2 chainName string 链名称
3.3 chainType int 链类型(0-非国密,1-国密)
3.4 description string 备注
3.5 createTime LocalDateTime 落库时间
3.6 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {
        "chainId": 100001,
        "chainName": "链一",
        "chainType": 0,
        "description": "test"
        "createTime": "2019-02-14 17:47:00",
        "modifyTime": "2019-03-15 11:14:29"
    }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

1.2 获取所有链列表

1.2.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/chain/all
  • 请求方式:GET
  • 返回格式:JSON

1.2.2 请求参数

1)入参表

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/chain/all

1.2.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 组织列表
4.1 Object 节点信息对象
4.1.1 chainId int 链编号
4.1.2 chainName string 链名称
4.1.3 chainType int 链类型(0-非国密,1-国密)
4.1.4 description string 备注
4.1.5 createTime LocalDateTime 落库时间
4.1.6 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": [
        {
        "chainId": 100001,
        "chainName": "链一",
        "chainType": 0,
        "description": "test"
        "createTime": "2019-02-14 17:47:00",
        "modifyTime": "2019-03-15 11:14:29"
    	}
    ],
    "totalCount": 1
}
  • 失败:
{
   "code": 102000,
   "message": "system exception",
   "data": {}
}

1.3 删除链信息

1.3.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/chain/{chainId}
  • 请求方式:DELETE
  • 请求头:Content-type: application/json
  • 返回格式:JSON

1.3.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/chain/100001

1.3.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体(空)

2)出参示例

  • 成功:
{
    "code": 0,
    "data": {},
    "message": "success"
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2 前置管理模块

2.1 新增节点前置信息

2.1.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /front/new
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

2.1.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 frontIp string 前置ip
3 frontPort int 前置服务端口
4 agency string 所属机构
5 description string 备注

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/new
{
    "chainId": 100001,
    "frontIp": "127.0.0.1",
    "frontPort": 5002,
    "agency": "abc",
    "description": "test"
}

2.1.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 节点信息对象
3.1 frontId int 前置编号
3.2 chainId int 链编号
3.3 nodeId string 前置对应的节点编号
3.4 frontIp string 前置ip
3.5 frontPort int 前置端口
3.6 agency string 所属机构
3.7 description string 备注
3.8 createTime LocalDateTime 落库时间
3.9 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {
        "frontId": 200001,
        "chainId": 100001,
        "nodeId": "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2",
        "frontIp": "127.0.0.1",
        "frontPort": 5002,
        "agency": "aa",
        "description": "test"
        "createTime": "2019-02-14 17:47:00",
        "modifyTime": "2019-03-15 11:14:29"
    }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.2 获取所有前置列表

2.2.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/front/find?chainId={chainId}?frontId={frontId}&groupId={groupId}
  • 请求方式:GET
  • 返回格式:JSON

2.2.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 frontId Int 前置编号
3 groupId Int 所属群组编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/find

2.2.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 组织列表
4.1 Object 节点信息对象
4.1.1 frontId int 前置编号
4.1.2 chainId int 链编号
4.1.3 nodeId string 前置对应的节点编号
4.1.4 frontIp string 前置ip
4.1.5 frontPort int 前置端口
4.1.6 agency string 所属机构
4.1.7 description string 备注
4.1.8 createTime LocalDateTime 落库时间
4.1.9 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": [
        {
            "frontId": 200001,
            "chainId": 100001,
            "nodeId": "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2",
            "frontIp": "127.0.0.1",
            "frontPort": 5002,
            "agency": "aa",
            "description": "test"
            "createTime": "2019-06-04 20:49:42",
            "modifyTime": "2019-06-04 20:49:42"
        }
    ],
    "totalCount": 1
}
  • 失败:
{
   "code": 102000,
   "message": "system exception",
   "data": {}
}

2.3 删除前置信息

2.3.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/front/{frontId}
  • 请求方式:DELETE
  • 请求头:Content-type: application/json
  • 返回格式:JSON

2.3.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId int 前置编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/200001

2.3.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体(空)

2)出参示例

  • 成功:
{
    "code": 0,
    "data": {},
    "message": "success"
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.4 前置节点监控信息

2.4.1 传输协议规范

  • 网络传输协议:使用HTTP协议

  • 请求地址:

    /mointorInfo/{frontId}?beginDate={beginDate}&endDate={endDate}&contrastBeginDate={contrastBeginDate}&contrastEndDate={contrastEndDate}&gap={gap}&groupId={groupId}
    
  • 请求方式:GET

  • 请求头:Content-type: application/json

  • 返回格式:JSON

2.4.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId int 前置编号
2 beginDate LocalDateTime 显示时间(开始) yyyy-MM-dd'T'HH:mm:ss.SSS 2019-03-13T00:00:00
3 endDate LocalDateTime 显示时间(结束)
4 contrastBeginDate LocalDateTime 对比时间(开始)
5 contrastEndDate LocalDateTime 对比时间(结束)
6 gap Int 数据粒度,默认1
7 groupId int 群组编号,默认1

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/mointorInfo/200001?beginDate=2019-03-13T00:00:00&endDate=2019-03-13T14:34:22&contrastBeginDate=2019-03-13T00:00:00&contrastEndDate=2019-03-13T14:34:22&gap=60&groupId=1

2.4.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码
2 message String 描述信息
3 data Array 返回信息列表
3.1 Object 返回信息实体
3.1.1 metricType String 测量类型:blockHeight(块高)、pbftView(pbft视图)、pendingCount(待处理交易数量)
3.1.2 data Object
3.1.2.1 lineDataList Object 指定时间的数据
3.1.2.1.1 timestampList List\<String> 时间戳列表
3.1.2.1.2 valueList List\<Integer> 值列表
3.1.2.2 contrastDataList Object 比对时间的数据
3.1.2.2.1 timestampList List\<String> 时间戳列表
3.1.2.2.2 valueList List\<Integer> 值列表

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": [
        {
            "metricType": "blockHeight",
            "data": {
                "lineDataList": {
                    "timestampList": [
                        1552406401042,
                        1552406701001
                    ],
                    "valueList": [
                        747309,
                        747309
                    ]
                },
                "contrastDataList": {
                    "timestampList": [
                        1552320005000,
                        1552320301001
                    ],
                    "valueList": [
                        null,
                        747309
                    ]
                }
            }
        },
        {
            "metricType": "pbftView",
            "data": {
                "lineDataList": {
                    "timestampList": null,
                    "valueList": [
                        118457,
                        157604
                    ]
                },
                "contrastDataList": {
                    "timestampList": null,
                    "valueList": [
                        null,
                        33298
                    ]
                }
            }
        }
    ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.5 前置节点服务器监控信息

2.5.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:
/front/ratio/{frontId}?gap={gap}&beginDate={beginDate}&endDate={endDate}&contrastBeginDate={contrastBeginDate}&contrastEndDate={contrastEndDate}
  • 请求方式:GET
  • 返回格式:JSON

2.5.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId int 前置编号
2 beginDate LocalDateTime 显示时间(开始) yyyy-MM-dd'T'HH:mm:ss.SSS 2019-03-13T00:00:00
3 endDate LocalDateTime 显示时间(结束)
4 contrastBeginDate LocalDateTime 对比时间(开始)
5 contrastEndDate LocalDateTime 对比时间(结束)
6 gap Int 数据粒度,默认1

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/ratio/200001?gap=1&beginDate=2019-03-15T00:00:00&endDate=2019-03-15T15:26:55&contrastBeginDate=2019-03-15T00:00:00&contrastEndDate=2019-03-15T15:26:55

2.5.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码
2 message String 描述信息
3 data Array 返回信息列表
3.1 Object 返回信息实体
3.1.1 metricType String 测量类型: cpu(cpu利用率:%)、memory(内存利用率:%)、disk(硬盘利用率:%)、txbps(上行bandwith:KB/s)、rxbps(下行bandwith:KB/s)
3.1.2 data Object
3.1.2.1 lineDataList Object 指定时间的数据
3.1.2.1.1 timestampList List\<String> 时间戳列表
3.1.2.1.2 valueList List\<Integer> 值列表
3.1.2.2 contrastDataList Object 比对时间的数据
3.1.2.2.1 timestampList List\<String> 时间戳列表
3.1.2.2.2 valueList List\<Integer> 值列表

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": [
        {
            "metricType": "txbps",
            "data": {
                "lineDataList": {
                    "timestampList": [
                        1552406401042,
                        1552406701001
                    ],
                    "valueList": [
                        12.24,
                        54.48
                    ]
                },
                "contrastDataList": {
                    "timestampList": [
                        1552320005000,
                        1552320301001
                    ],
                    "valueList": [
                        22.24,
                        24.48
                    ]
                }
            }
        },
        {
            "metricType": "cpu",
            "data": {
                "lineDataList": {
                    "timestampList": null,
                    "valueList": [
                        118457,
                        157604
                    ]
                },
                "contrastDataList": {
                    "timestampList": null,
                    "valueList": [
                        null,
                        33298
                    ]
                }
            }
        }
    ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.6 前置节点服务器配置信息

2.6.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/front/config/{frontId}
  • 请求方式:GET
  • 返回格式:JSON

2.6.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId int 前置编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/config/200001

2.6.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code int 返回码
2 message String 描述信息
3 data Array 返回信息列表
3.1 Object 返回信息实体
3.1.1 ip String ip地址
3.1.2 memoryTotalSize String 内存总量(单位:KB)
3.1.3 memoryUsedSize String 当前内存使用量(单位:KB)
3.1.4 cpuSize String CPU的大小(单位:MHz)
3.1.5 cpuAmount String CPU的核数(单位:个)
3.1.6 diskTotalSize String 文件系统总量(单位:KB)
3.1.7 diskUsedSize String 文件系统已使用量(单位:KB)

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "memoryTotalSize": "8010916",
    "cpuAmount": "4",
    "memoryUsedSize": "7674492",
    "cpuSize": "2599",
    "ip": "127.0.0.1",
    "diskUsedSize": "306380076",
    "diskTotalSize": "515928320"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.7 检查前置节点进程是否存活

2.7.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/front/checkNodeProcess/{frontId}
  • 请求方式:GET
  • 返回格式:JSON

2.7.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId Int 前置编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/checkNodeProcess/200001

2.7.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码
2 message String 描述信息
3 data boolean true-存活;false-未存活

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": true
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

2.8 获取前置节点所在群组物理大小信息

2.8.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/front/getGroupSizeInfos/{frontId}
  • 请求方式:GET
  • 返回格式:JSON

2.8.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 frontId Int 前置编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/front/getGroupSizeInfos/200001

2.8.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码
2 message String 描述信息
3 data Array 返回信息列表
3.1 List 返回信息实体
3.1.1 groupId Int 群组id
3.1.2 groupName String 群组名
3.1.3 path String 文件路径
3.1.4 size Long 大小(单位:KB)

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "groupId": 31231,
      "groupName": "group31231",
      "path": "/data/app/nodes/127.0.0.1/node0/data/group31231",
      "size": 27085
    },
    {
      "groupId": 2,
      "groupName": "group2",
      "path": "/data/app/nodes/127.0.0.1/node0/data/group2",
      "size": 23542
    },
    {
      "groupId": 1,
      "groupName": "group1",
      "path": "/data/app/nodes/127.0.0.1/node0/data/group1",
      "size": 25077
    },
    {
      "groupId": 111,
      "groupName": "group111",
      "path": "/data/app/nodes/127.0.0.1/node0/data/group111",
      "size": 21552
    }
  ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3 群组管理模块

3.1 生成新群组

​ 向单个节点请求生成新群组配置信息,节点和前置一一对应,节点编号可以从前置列表获取。适用于新群组下的节点属于不同链管理服务,每个节点都要请求一遍。群组生成后,需对应调用3.3的启动。

3.1.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/generate/{nodeId}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.1.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 generateGroupId int 生成的群组编号
3 timestamp BigInteger 创世块时间(单位:ms)
4 nodeList List 节点编号列表(新群组的所有节点编号)
5 description string 备注

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/generate/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2
{
    "chainId": 100001,
    "generateGroupId": 2,
    "timestamp": 1574853659000,
    "nodeList": [
       "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2"
    ],
    "description": "description"
}

3.1.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 组织信息对象
3.1 groupId int 群组编号
3.2 chainId int 链编号
3.3 groupName String 群组名称
3.4 nodeCount int 节点数量
3.5 description String 描述
3.6 createTime LocalDateTime 落库时间
3.7 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {
        "groupId": 2,
        "chainId": 100001,
        "groupName": "group2",
        "nodeCount": 1,
        "description": "test",
        "createTime": "2019-02-14 17:33:50",
        "modifyTime": "2019-03-15 09:36:17"
    }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3.2 批量生成新群组

​ 向新群组下所有节点请求生成新群组配置信息,节点和前置一一对应,节点编号可以从前置列表获取。适用于新群组下的节点属于同一个链管理服务(节点对应前置都要添加到链管理服务)。群组生成后,需对应调用3.4的批量启动。

3.2.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/generate
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.2.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 generateGroupId int 生成的群组编号
3 timestamp BigInteger 创世块时间(单位:ms)
4 nodeList List 节点编号列表(新群组的所有节点编号)
5 description string 备注

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/generate
{
    "chainId": 100001,
    "generateGroupId": 2,
    "timestamp": 1574853659000,
    "nodeList": [
       "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2"
    ],
    "description": "description"
}

3.2.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 组织信息对象
3.1 groupId int 群组编号
3.2 chainId int 链编号
3.3 groupName String 群组名称
3.4 nodeCount int 节点数量
3.5 description String 描述
3.6 createTime LocalDateTime 落库时间
3.7 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {
        "groupId": 2,
        "chainId": 100001,
        "groupName": "group2",
        "nodeCount": 1,
        "description": "test",
        "createTime": "2019-02-14 17:33:50",
        "modifyTime": "2019-03-15 09:36:17"
    }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3.3 动态操作群组

​ 可以对已存在的群组或新生成的群组进行动态操作,包括启动、停止、删除、恢复、状态查询。

说明: 生成新群组时,新群组下每一个节点都要启动,节点和前置一一对应。适用于新群组下的节点属于不同链管理服务,每个节点都要请求一遍进行启动。

3.3.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/operate/{chainId}/{groupId}/{nodeId}/{type}
  • 请求方式:GET
  • 返回格式:JSON

3.3.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 groupId int 要操作的群组编号
3 nodeId String 节点Id
4 type String 操作类型:start-启动;stop-停止;remove-删除;recover-恢复;getStatus-查询状态

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/operate/100001/2/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2/start

3.3.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {}
}
  • 失败:
{
  "code": 205032,
  "message": "Group 2 is already running",
  "data": null
}

3.4 批量启动群组

​ 节点和前置一一对应,节点编号可以从前置列表获取。适用于新群组下的节点属于同一个链管理服务(节点对应前置都要添加到链管理服务)。

3.4.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/batchStart
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.4.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 generateGroupId int 生成的群组编号
3 nodeList List 节点编号列表

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/generate
{
    "chainId": 100001,
    "generateGroupId": 2,
    "nodeList": [
       "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2"
    ]
}

3.4.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 组织信息对象

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {}
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

~~3.5 更新群组~~(废弃,启动或停止后自动更新)

​ 生成新群组并启动新群组的每一个节点后,调用此接口更新群组相关信息。

3.5.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/update
  • 请求方式:GET
  • 返回格式:JSON

3.5.2 请求参数

1)入参表

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/update

3.5.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {}
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3.6 获取群组概况

3.6.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/group/general/{chainId}/{groupId}
  • 请求方式:GET
  • 返回格式:JSON

3.6.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 groupId int 群组id

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/100001/300001

3.6.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体
3.1 groupId int 群组id
3.2 nodeCount int 节点数量

2)出参示例

  • 成功:
{
    "code": 0,
    "data": {
        "groupId": "300001",
        "nodeCount": 2
    },
    "message": "success"
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3.7 获取所有群组列表

3.7.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/group/all/{chainId}
  • 请求方式:GET
  • 返回格式:JSON

3.7.2 请求参数

1)入参表

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/all/100001

3.7.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 组织列表
4.1 Object 组织信息对象
4.1.1 chainId int 链编号
4.1.2 groupId int 群组编号
4.1.3 groupName String 群组名称
4.1.4 nodeCount int 节点数量
4.1.5 description String 描述
4.1.6 createTime LocalDateTime 落库时间
4.1.7 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "totalCount": 1,
    "data": [
        {
            "chainId": 100001,
            "groupId": 2,
            "groupName": "group2",
            "nodeCount": 1,
            "description": "test",
            "createTime": "2019-02-14 17:33:50",
            "modifyTime": "2019-03-15 09:36:17"
        }
    ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

3.8 获取群组下节点共识列表

​ 获取节点的共识列表,包含节点Id,节点共识状态。返回所有的共识/观察节点(无论运行或停止),以及正在运行的游离节点。

3.8.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/getConsensusList/{chainId}/{groupId}/{nodeId}
  • 请求方式:GET
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.8.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 pageSize Int 条数,默认10
5 pageNumber Int 页码,默认1

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/getConsensusList/1001/1/413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1?pageSize=10&pageNumber=1

3.8.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 共识列表
4.1 Object 共识信息对象
4.1.1 nodeId String 节点编号
4.1.2 nodeType String 节点类型

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "nodeId": "626e1f1df03e217a7a25361444b857ec68003482aabfb24645a67111cbd96ceedc998975e158475605e38b899bc97be7283006a0171f4ec4796972ff6ad55b1a",
      "nodeType": "sealer"
    },
    {
      "nodeId": "cd3a0d965ca5e5de9edce69245db827a3a253e4868e074020c3f5fb83ca0ae884d5705940c1fc1de550874de0f02374e83eaeb5317b819e420a8ff2e07e4b84c",
      "nodeType": "sealer"
    }
  ],
  "totalCount": 2
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

3.9 设置群组下节点共识状态

​ 可用于节点三种共识状态的切换。分别是共识节点sealer,观察节点observer,游离节点remove。

3.9.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/setConsensusStatus
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.9.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 signUserId String WeBASE-Sign签名用户编号
4 nodeId String 要切换状态节点Id
5 nodeType String 要设置的节点类型:observer/sealer/remove
6 reqNodeId String 调用前置对应的节点Id

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/setConsensusStatus
{
  "signUserId": "user100001",
  "chainId": 1001,
  "groupId": 1,
  "nodeId": "626e1f1df03e217a7a25361444b857ec68003482aabfb24645a67111cbd96ceedc998975e158475605e38b899bc97be7283006a0171f4ec4796972ff6ad55b1a",
  "nodeType": "sealer",
  "reqNodeId": "413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1"
}

3.9.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述

2)出参示例

  • 成功:
{
  "code": 0,
  "msg": "success"
}
  • 失败:
{
    "code": -51000,
    "message": "nodeId already exist"
}

3.10 获取系统配置列表

​ 获取系统配置列表,目前支持tx_count_limit、tx_gas_limit两个参数。

3.10.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/getSysConfigList/{chainId}/{groupId}/{nodeId}?pageSize={pageSize}&pageNumber={pageNumber}
  • 请求方式:GET
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.10.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 pageSize Int 条数,默认10
5 pageNumber Int 页码,默认1

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/getSysConfigList/1001/1/413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1?pageSize=10&pageNumber=1

3.10.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 配置列表
4.1 Object 配置信息对象
4.1.1 groupId Int 群组编号
4.1.2 configKey String 配置项,目前支持tx_count_limit、tx_gas_limit两个参数
4.1.4 configValue String 配置值

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "groupId": 1,
      "configKey": "tx_count_limit",
      "configValue": "1000"
    },
    {
      "groupId": 1,
      "configKey": "tx_gas_limit",
      "configValue": "300000000"
    }
  ],
  "totalCount": 2
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

3.11 设置系统配置值

​ 设置系统配置值,目前支持tx_count_limit、tx_gas_limit两个参数。

3.11.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /group/setSysConfig
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.11.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 signUserId String WeBASE-Sign签名用户编号
5 configKey String 配置项,目前支持tx_count_limit、tx_gas_limit两个参数
6 configValue String 配置值

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/setSysConfig
{
  "signUserId": "user100001",
  "chainId": 1001,
  "configKey": "tx_gas_limit",
  "configValue": "300000000",
  "groupId": 1,
  "nodeId": "413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1"
}

3.11.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述

2)出参示例

  • 成功:
{
  "code": 0,
  "msg": "success"
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

3.12 获取网络统计日志数据

​ 统计日志数据存储在前置H2数据库,前置默认存储一万条,超过将不会从节点日志文件拉取新的数据。此时,获取完现有数据,可以调用3.14 删除前置统计日志数据进行删除,数据量少于一万条时,前置自动从节点日志文件拉取新的数据。

3.12.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:
/group/charging/getNetWorkData/{chainId}/{groupId}/{nodeId}?pageSize={pageSize}&pageNumber={pageNumber}&beginDate={beginDate}&endDate={endDate}
  • 请求方式:GET
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.12.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 pageSize Int 条数,默认10
5 pageNumber Int 页码,默认1
6 beginDate LocalDateTime 开始时间(yyyy-MM-dd'T'HH:mm:ss.SSS 2019-03-13T00:00:00)
7 endDate LocalDateTime 结束时间

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/group/charging/getNetWorkData/1001/1/413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1?pageSize=2&pageNumber=1&beginDate=2020-03-27T10:30:04&endDate=2020-03-27T17:30:04

3.12.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 列表
4.1 Object 信息对象
4.1.1 id Long 主键
4.1.2 groupId Int 群组编号
4.1.3 totalIn Long 总入流量(P2P_InBytes + SDK_InBytes)
4.1.4 totalOut Long 总出流量(P2P_OutBytes + SDK_OutBytes)
4.1.5 timestamp Long 统计时间

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 583,
      "totalIn": 53837,
      "totalOut": 54753,
      "groupId": 1,
      "timestamp": 1585277486000
    },
    {
      "id": 581,
      "totalIn": 55128,
      "totalOut": 55092,
      "groupId": 1,
      "timestamp": 1585277426000
    }
  ],
  "totalCount": 22
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

3.13 获取交易Gas统计日志数据

​ 统计日志数据存储在前置H2数据库,前置默认存储一万条,超过将不会从节点日志文件拉取新的数据。此时,获取完现有数据,可以调用3.14 删除前置统计日志数据进行删除,数据量少于一万条时,前置自动从节点日志文件拉取新的数据。

3.13.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:
/group/charging/getTxGasData/{chainId}/{groupId}/{nodeId}?pageSize={pageSize}&pageNumber={pageNumber}&beginDate={beginDate}&endDate={endDate}&transHash={transHash}
  • 请求方式:GET
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.13.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 pageSize Int 条数,默认10
5 pageNumber Int 页码,默认1
6 beginDate LocalDateTime 开始时间(yyyy-MM-dd'T'HH:mm:ss.SSS 2019-03-13T00:00:00)
7 endDate LocalDateTime 结束时间
8 transHash String 交易hash,不为空时查询指定hash

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/group/charging/getTxGasData/1001/1/413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1?pageSize=2&pageNumber=1&beginDate=2020-03-27T10:30:04&endDate=2020-03-27T17:30:04

3.13.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 列表
4.1 Object 信息对象
4.1.1 id Long 主键
4.1.2 groupId Int 群组编号
4.1.3 transHash Long 交易hash
4.1.4 gasUsed Long 交易消耗的gas
4.1.5 timestamp Long 统计时间

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 5,
      "transHash": "c5e208ec70b899529e11311f1147b1ee24ab8f02301e6cdbe8252c77a89a0d4c",
      "gasUsed": 34949,
      "groupId": 1,
      "timestamp": 1585277499000
    },
    {
      "id": 4,
      "transHash": "d9d7800554b68c84a53e54eef8adceecca891dd0dd7e0069a3474a81d4eac440",
      "gasUsed": 44892,
      "groupId": 1,
      "timestamp": 1585277489000
    }
  ],
  "totalCount": 5
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

3.14 删除前置统计日志数据

​ 删除群组下统计日志数据。

3.14.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/group/charging/deleteData/{chainId}/{groupId}/{nodeId}
  • 请求方式:DELETE
  • 请求头:Content-type: application/json
  • 返回格式:JSON

3.14.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id,指定节点调用
4 type Int 删除数据类型(1-网络统计数据;2-交易gas数据)
5 keepEndDate LocalDateTime 保留截止时间(yyyy-MM-dd'T'HH:mm:ss.SSS 2019-03-13T00:00:00)

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/group/charging/deleteData/1001/1/413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1?type=2&keepEndDate=2020-01-27T17%3A30%3A04

3.14.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 处理条数

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": 5
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4 节点管理模块

4.1 查询节点信息列表

4.1.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/nodeList/{chainId}/{groupId}/{pageNumber}/{pageSize}?nodeId={nodeId}
  • 请求方式:GET
  • 返回格式:JSON

4.1.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 groupId int 群组编号
3 pageSize Int 每页记录数
4 pageNumber Int 当前页码
5 nodeId String 节点Id

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/nodeList/100001/300001/1/10?nodeId=

4.1.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 节点列表
4.1 Object 节点信息对象
4.1.1 chainId int 链编号
4.1.2 nodeId String 节点编号
4.1.3 nodeName string 节点名称
4.1.4 groupId int 所属群组编号
4.1.5 nodeActive int 共识状态(1正常,2不正常)
4.1.6 nodeIp string 节点ip
4.1.7 P2pPort int 节点p2p端口
4.1.8 description String 备注
4.1.9 blockNumber BigInteger 节点块高
4.1.10 pbftView BigInteger Pbft view
4.1.11 createTime LocalDateTime 落库时间
4.1.12 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "totalCount": 1,
    "data": [
        {
            "chainId": 100001,
            "nodeId": "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2,
            "nodeName": "1_78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b",
            "groupId": 1,
            "nodeIp": "127.0.0.1",
            "p2pPort": 10303,
            "description": null,
            "blockNumber": 133,
            "pbftView": 5852,
            "nodeActive": 1,
            "createTime": "2019-02-14 17:47:00",
            "modifyTime": "2019-03-15 11:14:29"
        }
    ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

~~4.2 查询节点信息~~(废弃,可通过4.1查询)

​ 节点和前置一一对应,节点编号可以从前置列表获取。

4.2.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/nodeInfo/{chainId}/{groupId}/{nodeId}
  • 请求方式:GET
  • 返回格式:JSON

4.2.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组id
3 nodeId String 节点编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/nodeInfo/100001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2

4.2.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 节点信息对象
3.1 chainId Int 链编号
3.2 nodeId String 节点编号
3.3 nodeName String 节点名称
3.4 groupId Int 所属群组编号
3.5 nodeActive Int 共识状态(1正常,2不正常)
3.6 nodeIp String 节点ip
3.7 P2pPort Int 节点p2p端口
3.8 description String 备注
3.9 blockNumber BigInteger 节点块高
3.10 pbftView BigInteger Pbft view
3.11 createTime LocalDateTime 落库时间
3.12 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
    "code": 0,
    "message": "success",
    "data": {
        "chainId": 100001,
        "nodeId": "78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2",
        "nodeName": "1_78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b",
        "groupId": 1,
        "nodeIp": "127.0.0.1",
        "p2pPort": 10303,
        "description": null,
        "blockNumber": 133,
        "pbftView": 5852,
        "nodeActive": 1,
        "createTime": "2019-02-14 17:47:00",
        "modifyTime": "2019-03-15 11:14:29"
    }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4.3 获取区块高度

​ 指定节点获取区块高度。节点和前置一一对应,节点编号可以从前置列表获取。

4.3.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/getBlockNumber/{chainId}/{groupId}/{nodeId}
  • 请求方式:GET
  • 返回格式:JSON

4.3.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/getBlockNumber/1001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2

4.3.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 块高

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": 74
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4.4 根据区块高度获取区块信息

​ 指定节点根据区块高度获取区块信息。节点和前置一一对应,节点编号可以从前置列表获取。

4.4.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/getBlockByNumber/{chainId}/{groupId}/{nodeId}/{blockNumber}
  • 请求方式:GET
  • 返回格式:JSON

4.4.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点编号
4 blockNumber BigInteger 区块高度

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/getBlockByNumber/1001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2/1

4.4.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 区块信息

2)出参示例

  • 成功:
  "code": 0,
  "message": "success",
  "data": {
    "number": 1,
    "hash": "0x74ce7bf9daea04cfc9f69a2269f5f524dc62fcc19c7c649d56ded98c064321dd",
    "parentHash": "0xcd55822ef3c4bf20cd12a110e0d7d14e436385dd68ed133e4bf48183208943dc",
    "nonce": 0,
    "sha3Uncles": null,
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "transactionsRoot": "0x623f3f6b4a0bf166d70001876dd5ce6af6d215aa4282e390580e66f65f652eb5",
    "stateRoot": "0x286b6bb8045118b1f4429f4155e71847cf2c021dce78bf1ef780c5d131dfe0f2",
    "receiptsRoot": "0x5c15415b928ba2726259094659d3753d752e009fd5c36d4e86138e7260890553",
    "author": null,
    "sealer": "0x1",
    "mixHash": null,
    "extraData": [],
    "gasLimit": 0,
    "gasUsed": 0,
    "timestamp": 1577777367654,
    "transactions": [
      {
        "hash": "0x2bf33fff3b81d74548079a669333aef601d4d2acaf8d33a31687fac8d5d9c815",
        "nonce": 4.2909445613494797e+74,
        "blockHash": "0x74ce7bf9daea04cfc9f69a2269f5f524dc62fcc19c7c649d56ded98c064321dd",
        "blockNumber": 1,
        "transactionIndex": 0,
        "from": "0x42446154be80379b68debfdb06682d29d084fad4",
        "to": null,
        "value": 0,
        "gasPrice": 1,
        "gas": 100000000,
        "input": "0xxx",
        "creates": null,
        "publicKey": null,
        "raw": null,
        "r": null,
        "s": null,
        "v": 0,
        "blockNumberRaw": "1",
        "transactionIndexRaw": "0",
        "nonceRaw": "429094456134947991292268568258086729239801142894854477452577045806616816236",
        "gasRaw": "100000000",
        "valueRaw": "0",
        "gasPriceRaw": "1"
      }
    ],
    "uncles": null,
    "sealerList": [
      "626e1f1df03e217a7a25361444b857ec68003482aabfb24645a67111cbd96ceedc998975e158475605e38b899bc97be7283006a0171f4ec4796972ff6ad55b1a",
      "cd3a0d965ca5e5de9edce69245db827a3a253e4868e074020c3f5fb83ca0ae884d5705940c1fc1de550874de0f02374e83eaeb5317b819e420a8ff2e07e4b84c"
    ],
    "timestampRaw": "1577777367654",
    "nonceRaw": "0",
    "gasUsedRaw": "0",
    "gasLimitRaw": "0",
    "numberRaw": "1"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4.5 获取群组交易总数信息

​ 指定节点获取群组交易总数信息。节点和前置一一对应,节点编号可以从前置列表获取。

4.5.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/getTotalTransactionCount/{chainId}/{nodeId}/{groupId}
  • 请求方式:GET
  • 返回格式:JSON

4.5.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/getTotalTransactionCount/1001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2

4.5.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object
3.1 txSum Int 交易总数
3.2 blockNumber Int 当前块高

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "txSum": 74,
    "blockNumber": 74
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4.6 根据交易hash获取交易信息

​ 指定节点根据交易hash获取交易信息。节点和前置一一对应,节点编号可以从前置列表获取。

4.6.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/getTransactionByHash/{chainId}/{groupId}/{nodeId}/{transHash}
  • 请求方式:GET
  • 返回格式:JSON

4.6.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点编号
4 transHash String 交易hash

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/getTransactionByHash/1001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2/0x2bf33fff3b81d74548079a669333aef601d4d2acaf8d33a31687fac8d5d9c815

4.6.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 交易信息

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "hash": "0x2bf33fff3b81d74548079a669333aef601d4d2acaf8d33a31687fac8d5d9c815",
    "nonce": 4.2909445613494797e+74,
    "blockHash": "0x74ce7bf9daea04cfc9f69a2269f5f524dc62fcc19c7c649d56ded98c064321dd",
    "blockNumber": 1,
    "transactionIndex": 0,
    "from": "0x42446154be80379b68debfdb06682d29d084fad4",
    "to": "0x0000000000000000000000000000000000000000",
    "value": 0,
    "gasPrice": 1,
    "gas": 100000000,
    "input": "0xxxx",
    "creates": null,
    "publicKey": null,
    "raw": null,
    "r": null,
    "s": null,
    "v": 0,
    "blockNumberRaw": "1",
    "transactionIndexRaw": "0",
    "nonceRaw": "429094456134947991292268568258086729239801142894854477452577045806616816236",
    "gasRaw": "100000000",
    "valueRaw": "0",
    "gasPriceRaw": "1"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

4.7 根据交易hash获取交易回执信息

​ 指定节点根据交易hash获取交易回执信息。节点和前置一一对应,节点编号可以从前置列表获取。

4.7.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/node/getTransactionReceipt/{chainId}/{groupId}/{nodeId}/{transHash}
  • 请求方式:GET
  • 返回格式:JSON

4.7.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点编号
4 transHash String 交易hash

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/node/getTransactionReceipt/1001/1/78e467957af3d0f77e19b952a740ba8c53ac76913df7dbd48d7a0fe27f4c902b55e8543e1c4f65b4a61695c3b490a5e8584149809f66e9ffc8c05b427e9d3ca2/0x2bf33fff3b81d74548079a669333aef601d4d2acaf8d33a31687fac8d5d9c815

4.7.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data Object 交易回执信息

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "transactionHash": "0x2bf33fff3b81d74548079a669333aef601d4d2acaf8d33a31687fac8d5d9c815",
    "transactionIndex": 0,
    "blockHash": "0x74ce7bf9daea04cfc9f69a2269f5f524dc62fcc19c7c649d56ded98c064321dd",
    "blockNumber": 1,
    "gasUsed": 371053,
    "contractAddress": "0xff15a64b529be2538826acd6bd436ebdedbc0557",
    "root": "0x286b6bb8045118b1f4429f4155e71847cf2c021dce78bf1ef780c5d131dfe0f2",
    "status": "0x0",
    "message": null,
    "from": "0x42446154be80379b68debfdb06682d29d084fad4",
    "to": "0x0000000000000000000000000000000000000000",
    "input": "0xxxxx",
    "output": "0x",
    "logs": [],
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5 合约管理模块

5.1 编译合约

​ 接口参数为合约文件压缩成zip并Base64编码后的字符串。合约文件需要放在同级目录压缩,涉及引用请使用”./XXX.sol”。可参考测试类ContractControllerTest的testCompileContract()方法。国密和非国密编译的bytecodeBin不一样,合约管理模块以国密为例。

5.1.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/compile
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

5.1.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 nodeId String 节点编号
3 contractZipBase64 String 合约源码(合约文件压缩成zip,并Base64编码)

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/compile
{
  "chainId": 1001,
  "contractZipBase64": "UEsDBBQAAAAIAIqMeFAi98KgkQAAAPwAAAAOAAAASGVsbG9Xb3JsZC5zb2xdjjELwjAQhfdC/8ON7VJE3Iq7k4uDmxDSMwSSi1yugkj/u7GJNPjGe/e+9x6sjFcQg7OTlRfcdsNh2I9towMJKy1wQufCNbCb3m0DSVHYkgFSHsd8wSeSwAXlnG5d5ffl4T6TFhsIDErXJ3QUlRKMMjPFkui//Kzi1B3LHykm0q+pTqK32xRaB2StsCNtuOUDUEsBAj8AFAAAAAgAiox4UCL3wqCRAAAA/AAAAA4AJAAAAAAAAAAgAAAAAAAAAEhlbGxvV29ybGQuc29sCgAgAAAAAAABABgA3EMdrL8B1gGPz3r5xAjWAX8gr5/Rr9UBUEsFBgAAAAABAAEAYAAAAL0AAAAAAA==",
  "nodeId": "a89e1fcb189ad740636bbef814388f2782a577cfc8ee9d6e0751bfbb4e3ddb4f0eadde82d5108bc6f3734aef4b04eafcb0911a2166bf47f309c16e31740548d2"
}

5.1.3 返回参数

1)出参表

序号 输出参数 类型 可为空 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data List 列表
3.1 Object 信息对象
3.1.1 contractName String 合约名称
3.1.2 contractAbi String 编译合约生成的abi文件内容
3.1.3 bytecodeBin String 合约bytecode binary,用于部署合约
3.1.4 contractSource String 单个合约内容Base64编码

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "contractName": "HelloWorld",
      "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
      "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
      "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029"
    }
  ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.2 保存合约和更新

5.2.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/save
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

5.2.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 所属群组编号
3 contractName String 合约名称
4 contractSource String 合约源码,Base64编码
5 contractAbi String 编译合约生成的abi文件内容
6 contractBin String 合约运行时binary,用于合约解析
7 bytecodeBin String 合约bytecode binary,用于部署合约
8 contractId String 合约编号(为空时表示新增,不为空表示更新)
9 contractPath String 合约所在目录

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/save
{
  "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
  "chainId": 1001,
  "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
  "contractBin": "xxx",
  "contractName": "HelloWorld",
  "contractPath": "/",
  "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
  "groupId": 1
}

5.2.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 返回信息实体
3.1 contractId Int 合约编号
3.2 contractPath String 合约所在目录
3.3 contractName String 合约名称
3.4 chainId Int 链编号
3.5 groupId Int 所属群组编号
3.6 contractStatus Int 1未部署,2已部署
3.7 contractType Int 合约类型(0-普通合约,1-系统合约,默认0)
3.8 contractSource String 合约源码
3.9 contractAbi String 编译合约生成的abi文件内容
3.10 contractBin String 合约运行时binary,用于合约解析
3.11 bytecodeBin String 合约bytecode binary,用于部署合约
3.12 contractAddress String 合约地址
3.13 deployTime LocalDateTime 部署时间
3.14 description String 备注
3.15 createTime LocalDateTime 创建时间
3.16 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "contractId": 400003,
    "contractPath": "/",
    "contractName": "HelloWorld",
    "contractStatus": 1,
    "chainId": 1001,
    "groupId": 1,
    "contractType": 0,
    "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
    "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
    "contractBin": "xxx",
    "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
    "contractAddress": null,
    "deployTime": null,
    "description": null,
    "createTime": "2020-04-02 16:17:20",
    "modifyTime": "2020-04-02 16:17:20"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.3 查询合约列表

5.3.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/contractList
  • 请求方式:POST
  • 返回格式:JSON

5.3.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组id
3 contractName String 合约名
4 contractAddress String 合约地址
5 pageSize Int 每页记录数
6 pageNumber Int 当前页码
7 contractStatus Int 1未部署,2已部署

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/contractList
{
  "chainId": 1001,
  "groupId": 1
}

5.3.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 totalCount Int 总记录数
4 data List 列表
4 Object 返回信息实体
4.1.1 contractId int 合约编号
4.1.2 contractPath String 合约所在目录
4.1.3 contractName String 合约名称
4.1.4 chainId int 链编号
4.1.5 groupId Int 所属群组编号
4.1.6 contractStatus int 1未部署,2已部署
4.1.7 contractType Int 合约类型(0-普通合约,1-系统合约)
4.1.8 contractSource String 合约源码
4.1.9 contractAbi String 编译合约生成的abi文件内容
4.1.10 contractBin String 合约运行时binary,用于合约解析
4.1.11 bytecodeBin String 合约bytecode binary,用于部署合约
4.1.12 contractAddress String 合约地址
4.1.13 deployTime LocalDateTime 部署时间
4.1.14 description String 备注
4.1.15 createTime LocalDateTime 创建时间
4.1.16 modifyTime LocalDateTime 修改时间
2)出参示例
  • 成功:
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "contractId": 400003,
      "contractPath": "/",
      "contractName": "HelloWorld",
      "contractStatus": 1,
      "chainId": 1001,
      "groupId": 1,
      "contractType": 0,
      "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
      "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
      "contractBin": "xxx",
      "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
      "contractAddress": null,
      "deployTime": null,
      "description": null,
      "createTime": "2020-04-02 16:17:20",
      "modifyTime": "2020-04-02 16:17:20"
    }
  ],
  "totalCount": 1
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.4 查询合约信息

5.4.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/{contractId}
  • 请求方式:GET
  • 返回格式:JSON

5.4.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 contractId int 合约编号

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/400003

5.4.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 返回信息实体
3.1 contractId int 合约编号
3.2 contractPath String 合约所在目录
3.3 contractName String 合约名称
3.4 chainId int 链编号
3.5 groupId Int 所属群组编号
3.6 contractStatus int 1未部署,2已部署
3.7 contractType Int 合约类型(0-普通合约,1-系统合约)
3.8 contractSource String 合约源码
3.9 contractAbi String 编译合约生成的abi文件内容
3.10 contractBin String 合约运行时binary,用于合约解析
3.11 bytecodeBin String 合约bytecode binary,用于部署合约
3.12 contractAddress String 合约地址
3.13 deployTime LocalDateTime 部署时间
3.14 description String 备注
3.15 createTime LocalDateTime 创建时间
3.16 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "contractId": 400003,
    "contractPath": "/",
    "contractName": "HelloWorld",
    "contractStatus": 1,
    "chainId": 1001,
    "groupId": 1,
    "contractType": 0,
    "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
    "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
    "contractBin": "xxx",
    "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
    "contractAddress": null,
    "deployTime": null,
    "description": null,
    "createTime": "2020-04-02 16:17:20",
    "modifyTime": "2020-04-02 16:17:20"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.5 部署合约

调用此接口进行合约部署。

构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:

constructor(string s) -> ["aa,bb\"cc"]	// 双引号要转义
constructor(uint n,bool b) -> [1,true]
constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]

5.5.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/deploy
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

5.4.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 所属群组编号
3 contractName String 合约名称
4 contractSource String 合约源码
5 contractAbi String 编译合约生成的abi文件内容
6 contractBin String 合约运行时binary,用于合约解析
7 bytecodeBin String 合约bytecode binary,用于部署合约
8 contractId String 合约编号
9 contractPath String 合约所在目录
10 signUserId String WeBASE-Sign签名用户编号
11 constructorParams List 构造函数入参,JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]]
12 nodeId String 节点编号,指定节点调用

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/deploy
{
  "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
  "chainId": 1001,
  "constructorParams": [
  ],
  "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
  "contractBin": "xxx",
  "contractId": 400003,
  "contractName": "HelloWorld",
  "contractPath": "/",
  "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
  "groupId": 1,
  "nodeId": "a89e1fcb189ad740636bbef814388f2782a577cfc8ee9d6e0751bfbb4e3ddb4f0eadde82d5108bc6f3734aef4b04eafcb0911a2166bf47f309c16e31740548d2",
  "signUserId": "user1001"
}

5.5.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 Object 返回信息实体
3.1 contractId int 合约编号
3.2 contractPath String 合约所在目录
3.3 contractName String 合约名称
3.4 chainId int 链编号
3.5 groupId Int 所属群组编号
3.6 contractStatus int 1未部署,2已部署
3.7 contractType Int 合约类型(0-普通合约,1-系统合约)
3.8 contractSource String 合约源码
3.9 contractAbi String 编译合约生成的abi文件内容
3.10 contractBin String 合约binary
3.11 bytecodeBin String 合约bin
3.12 contractAddress String 合约地址
3.13 deployTime LocalDateTime 部署时间
3.14 description String 备注
3.15 createTime LocalDateTime 创建时间
3.16 modifyTime LocalDateTime 修改时间

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "contractId": 400003,
    "contractPath": "/",
    "contractName": "HelloWorld",
    "contractStatus": 2,
    "chainId": 1001,
    "groupId": 1,
    "contractType": 0,
    "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQp9",
    "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
    "contractBin": "xxx",
    "bytecodeBin": "608060405234801561001057600080fd5b50610373806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063299f7f9d146100515780633590b49f146100e1575b600080fd5b34801561005d57600080fd5b5061006661014a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100a657808201518184015260208101905061008b565b50505050905090810190601f1680156100d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156100ed57600080fd5b50610148600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101ec565b005b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156101e25780601f106101b7576101008083540402835291602001916101e2565b820191906000526020600020905b8154815290600101906020018083116101c557829003601f168201915b5050505050905090565b7f05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024e578082015181840152602081019050610233565b50505050905090810190601f16801561027b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1806000908051906020019061029e9291906102a2565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102e357805160ff1916838001178555610311565b82800160010185558215610311579182015b828111156103105782518255916020019190600101906102f5565b5b50905061031e9190610322565b5090565b61034491905b80821115610340576000816000905550600101610328565b5090565b905600a165627a7a72305820cff924cb0783dc84e2e107aae1fd09e1e04154b80834c9267a4eaa630997b2b90029",
    "contractAddress": "0x377127dbe8c03cf0decf353ac5119f5e7cbcfe97",
    "deployTime": "2020-04-02 16:22:44",
    "description": null,
    "createTime": "2020-04-02 16:17:20",
    "modifyTime": "2020-04-02 16:22:44"
  }
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.6 发送交易

调用此接口发送交易请求,数据上链或查询结果。

方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:

function set(string s) -> ["aa,bb\"cc"]	// 双引号要转义
function set(uint n,bool b) -> [1,true]
function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]

5.6.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/contract/transaction
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

5.6.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId int 链编号
2 groupId Int 所属群组编号
3 signUserId String WeBASE-Sign签名用户编号
4 contractName String 合约名称
5 contractId Int 合约编号
6 funcName String 合约方法名
7 contractAddress String 合约地址
8 funcParam List 合约方法入参,JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]]
9 contractAbi String 所调用合约方法的abi,注意格式(传入所有abi可能导致合约重载方法出问题)
10 nodeId String 节点编号,指定节点调用

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/transaction
{
  "chainId": 1001,
  "contractAbi": "[{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]",
  "contractId": 400003,
  "contractName": "HelloWorld",
  "funcName": "get",
  "funcParam": [],
  "groupId": 1,
  "nodeId": "a89e1fcb189ad740636bbef814388f2782a577cfc8ee9d6e0751bfbb4e3ddb4f0eadde82d5108bc6f3734aef4b04eafcb0911a2166bf47f309c16e31740548d2",
  "signUserId": "user1001"
}

5.6.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data object 返回信息实体(空)

2)出参示例

  • 上链成功:
{
  "code": 0,
  "message": "success",
  "data": {
    "transactionHash": "0x150b562cfe3f8432853925bbed13f3ae549dc5083da9f42a5226f5df18094974",
    "transactionIndex": 0,
    "blockHash": "0x70ae837060441a087a12e4b6d70a5d76b7c9af3d97ec97035ffefdbe1836e567",
    "blockNumber": 177303,
    "gasUsed": 44956,
    "contractAddress": "0x0000000000000000000000000000000000000000",
    "root": "0x98372c72262170a0325f7c162feb2c310f7f43f13aeac42349e62784a98efebe",
    "status": "0x0",
    "message": null,
    "from": "0xdb4ed7a548623c219235aa68156f117dff959a17",
    "to": "0x377127dbe8c03cf0decf353ac5119f5e7cbcfe97",
    "input": "0x3590b49f0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000",
    "output": "0x",
    "logs": [
      {
        "removed": false,
        "logIndex": null,
        "transactionIndex": null,
        "transactionHash": null,
        "blockHash": null,
        "blockNumber": null,
        "address": "0x377127dbe8c03cf0decf353ac5119f5e7cbcfe97",
        "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000",
        "type": null,
        "topics": [
          "0x05432a43e07f36a8b98100b9cb3631e02f8e796b0a06813610ce8942e972fb81"
        ],
        "transactionIndexRaw": null,
        "logIndexRaw": null,
        "blockNumberRaw": null
      }
    ],
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  }
}
  • 查询成功:
{
  "code": 0,
  "message": "success",
  "data": [
    "Hello"
  ]
}
  • 失败:
{
    "code": 102000,
    "message": "system exception",
    "data": {}
}

5.7 合约状态管理

​ 通过预编译合约管理合约状态,根据入参的操作类型进行调用,可以冻结、解冻合约和授权用户操作权限,还可以查询合约状态和合约用户权限列表。

5.7.1 传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /contract/statusManage
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

5.7.2 请求参数

1)入参表

序号 输入参数 类型 可为空 备注
1 chainId Int 链编号
2 groupId Int 群组编号
3 nodeId String 节点Id
4 signUserId String WeBASE-Sign签名用户编号
5 contractAddress String 已部署的合约地址
6 handleType String 操作类型:freeze-冻结;unfreeze-解冻;grantManager-授权;getStatus-查询合约状态;listManager-查询合约权限列表
7 grantAddress String 授权用户地址,操作类型为grantManager时需传入

2)入参示例

http://127.0.0.1:5005/WeBASE-Chain-Manager/contract/statusManage
{
  "chainId": 1001,
  "contractAddress": "0x1d518bf3fb0edceb18519808edf7ad8adeeed792",
  "grantAddress": "",
  "groupId": 1,
  "handleType": "freeze",
  "nodeId": "413c788ec4b55e8170815e1c61977bac8c38f2df8670d09868a6099a044c0bff7884b9c30f3fa9c331358fcbded28f8d0211e2ffc48019c9796fa05274ed89b1",
  "signUserId": "user1001"
}

5.7.3 返回参数

1)出参表

序号 输出参数 类型 备注
1 code Int 返回码,0:成功 其它:失败
2 message String 描述
3 data String 数据

2)出参示例

  • 成功:
{
  "code": 0,
  "message": "success",
  "data": null
}
  • 失败:
{
  "code": 205002,
  "message": "not fount any front",
  "data": null
}

附录

1. 返回码信息列表

Code message 描述
0 success 正常
105000 system error 系统异常
205000 invalid front id 无效的前置编号
205001 database exception 数据库异常
205002 not fount any front 找不到前置
205003 front already exists 前置已存在
205004 group id cannot be empty 群组编号不能为空
205005 invalid group id 无效的群组编号
205006 save front fail 保存前置失败
205007 request front fail, please check front 请求前置失败
205008 abiInfo cannot be empty abi信息不能为空
205009 contract already exists 合约已存在
205010 invalid contract id 无效的合约编号
205011 invalid param info 无效的参数
205012 contract name cannot be repeated 合约名称不能重复
205013 contract has not deploy 合约未部署
205014 invalid contract address 无效的合约地址
205015 contract has been deployed 合约已部署
205016 contract deploy not success 合约部署不成功
205017 wrong host or port 地址或端口错误
205018 group id already exists 群组编号已存在
205019 node not exists 节点不存在
205020 front's encrypt type not match 前置加密类型不匹配
205021 chain name already exists 链名称已经存在
205022 save chain fail 保存链失败
205023 invalid chain id 无效的链编号
205024 user already exists 用户已存在
205025 publicKey cannot be empty 公钥不能为空
205026 publicKey's length is 130,address's length is 42 公钥或地址长度不对
205027 user id cannot be empty 用户编号不能为空
205028 invalid user 无效用户
205029 chain id already exists 链编号已存在
205030 contract compile error 合约编译错误
205031 group generate fail 群组创建失败
205032 group operate fail 群组操作失败
205033 request node exception 请求节点异常
305000 param exception 参数异常