跳转至

区块链管理

区块链管理

(1)新增网络

描述:用户输入区块链网络英文名和节点IP地址,一键连接第三方网络,只有全量版可以调用。

方法:POST

请求路径:/xbaas/v1/xchain/network/connect

请求参数:

名称 位置 类型 是否必填 说明
name body string 网络英文名,2-15的英文与数字
nodes body [ ]nodeAddress 网络节点列表,http地址必须加协议开头(http://或者https://)

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data string 新建的网络id

请求示例:

POST

/xbaas/v1/xchain/network/connect

{
  "name": "xchainnet",
  "nodes": [{"httpAddress::"http://14.215.183.139:8001","grpcAddress":"14.215.183.139:37101"}]
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": "1"
}

(2)新增网络节点

描述:用户新增网络节点,只有全量版可以调用。

方法:PUT

请求路径:/xbaas/v1/xchain/network/nodes

请求参数:

名称 位置 类型 是否必填 说明
networkId body string 网络id
nodes body []nodeAddress 网络节点列表

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码

请求示例:

PUT

/xbaas/v1/xchain/network/nodes

{
  "networkId": "1",
  "nodes": [{"httpAddress::"http://14.215.183.139:8001","grpcAddress":"14.215.183.139:37101"}]
}

响应示例:

{
  "code": "0",
  "msg": "ok"
}

区块链信息查询

(1)网络列表查询

描述:网络列表查询,返回所有网络

方法:GET

请求路径:/xbaas/v1/xchain/networks

请求参数:

字段 位置 字段类型 是否必填 字段内容
type query string 查询的网络类型,1 纳管的网络,2 创建的网络,3 加入的网络,All全部,不传默认全部

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data []networkInfo 网络信息

请求示例:

GET

/xbaas/v1/xchain/networks?type=1

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": [{
​      "id": 1,
​      "name": "XuperOS",
​      "consensus": "tdpos",
​      "status": "RUNNING",
​      "deployType": "Connect",
​      "createTime": "2020-07-24T02:34:16Z"
​  }]
}

(2)网络基本信息查询

描述:网络基本信息查询

方法:GET

请求路径:/xbaas/v1/xchain/network/

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data network 网络信息,查看后面

请求示例:

GET

/xbaas/v1/xchain/network?networkId=1

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
​      "id": 1,
​      "name": "XuperOS",
​      "consensus": "tdpos",
​      "status": "RUNNING",
​      "deployType": "Connect",
​      "chains": [
​          {
​              "name": "xuper",
​              "rootBlockId": "fasdfdsfdfdsfdsfdsf",
​              "contractAmount": 2
​          }
​      ],
​      "nodes": [
​          {
​              "id": 1,
​              "grpcAddress": "12.12.12.12:2343",
​              "httpAddress":"http://12.12.12.12:2343",
​              "status": "RUNNING",
​              "deployType": "External",
​              "createTime": "2020-07-24T02:34:16Z"
​          }
​      ],
​      "totalContractAmount": 2,
​      "runningNodeAmount": 2,
​      "totalNodeAmount": 2,
​      "createTime": "2020-07-24T02:34:16Z"
  }
}

(3)网络节点列表查询

描述:网络节点列表查询

方法:GET

请求路径:/xbaas/v1/xchain/network/nodes

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data [ ]node 节点信息

请求示例:

GET

/xbaas/v1/xchain/network/nodes?networkId=1

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": [{
​        "id": 1,
​        "grpcAddress": "12.12.12.12:2343",
​        "httpAddress":"http://12.12.12.12:2343",
​        "status": "RUNNING",
​        "deployType": "External",
​        "createTime": "2020-07-24T02:34:16Z"
​  }]
}

(4)链运行状态查询

描述:网络运行状态查询

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/status

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data chainStatus 链运行状态,查看后面

请求示例:

GET

/xbaas/v1/xchain/network/chain/status?networkId=1&chainName=xuper

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
​      "name": "xuper",
​      "blockHeight": "20",
​      "txAmount": "10",
​      "contractAmount": "2",
​      "avgTxTime": "3",
​      "concurrencyMax": "256"
  }
}

(5)块高度查询

描述:块高度查询

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/totalBlock

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data string 链高度

请求示例:

GET

/xbaas/v1/xchain/network/chain/totalBlock?networkId=1&chainName=xuper

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": "10"
}

(6)交易总数查询

描述:交易总数

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/totalTx

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data string 交易总数

请求示例:

GET

/xbaas/v1/xchain/network/1/chain/xuper/totalTx?networkId=1&chainName=xuper

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": "10"
}

(7)平均交易时间

描述:平均交易时间

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/avgTxTime

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data string 平均交易时间(秒)

请求示例:

GET

/xbaas/v1/xchain/network/chain/avgTxTime?networkId=1&chainName=xuper

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": "3"
}

(8)历史并发峰值

描述:历史并发峰值

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/concurrencyMax

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data string 历史并发峰值(笔/秒)

请求示例:

GET

/xbaas/v1/xchain/network/chain/concurrencyMax?networkId=1&chainName=xuper

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": "364"
}

(9)历史交易数查询

描述:历史交易数查询

方法:GET

请求路径:/xbaas/v1/xchain/network/chain/totalTxHis

请求参数:

名称 位置 类型 是否必填 说明
networkId query string 网络Id
chainName query string 链名称
endTime query string 统计的结束时间戳,统计区间段然后按type进行递减; 按天则end_time 会取当天24点时间戳,按小时则当前小时的结束时间戳
type query int 1:按天,数量对应天数;2:按小时,数量对应为小时
num query int 数量

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data map[string]int64 历史交易数

请求示例:

GET

/xbaas/v1/xchain/network/chain/totalTxHis?networkId=1&chainName=xuper&endTime=152324432942&type=1&num=3

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
​      "152324432942":897722, //时间戳为返回的统计时间段结束时间
​      "152324432942":897762,
​      "152324432942":897822
​  }
}

BaaS信息查询

(1)BaaS统计信息查询

描述:BaaS统计信息查询

方法:GET

请求路径:/xbaas/v1/baas/statistics

请求参数:无

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data sysStatistics BaaS统计信息

请求示例:

GET

/xbaas/v1/baas/status

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
​      "netAmount": 19,
​      "runningNetAmount": 10,
​      "contractAmount": 20,
​      "pluginAmount": 20,
  }
}

(2)部署版本查询

描述:部署版本

方法:GET

请求路径:/xbaas/v1/baas/sysInfo

请求参数:无

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data sysinfo 系统版本信息

请求示例:

GET

/xbaas/v1/baas/sysInfo

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
​      "deployType":"Cloud",
​      "version":"1.0"
  }
}

数据结构

(1)networkInfo

字段 字段类型 字段内容
id string 网络id
name string 网络英文名
consensus string 共识类型
precisionint int 精度
status string 网络状态
deployType string 网络部署类型
createTime string 创建时间
node [ ]nodeInfo 节点列表

(2)network

字段 字段类型 字段内容
id string 网络id
name string 网络英文名
consensus string 共识类型
status string 网络状态
deployType string 网络部署类型
totalContractAmount int64 合约总数
runningNodeAmount int 运行节点总数
totalNodeAmount int 节点总数
precision int 精度
chains [ ]chain 链列表
nodes [ ]nodeInfo 节点列表
createTime string 创建时间

(3)chain

字段 字段类型 字段内容
name string 链英文名
rootBlockId string 根区块id
contractAmount int64 合约数

(4)node

字段 字段类型 字段内容
id string 节点id
httpAddress string 节点http地址
grpcAddress string 节点grpc地址
status string 节点状态
type string 节点类型
deployType string 节点部署类型
createTime string 创建时间

(5)chainStatus

字段 字段类型 字段内容
name string 链英文名
blockHeight string 块高
txAmount string 交易总数
avgTxTime string 平均交易时间(秒)
concurrencyMax string 历史并发峰值(笔/秒)
contractAmount string 合约数

(6)nodeAddress

字段 字段类型 字段内容
httpAddress string 节点http地址
grpcAddress string 节点grpc地址

(7)sysinfo

字段 字段类型 字段内容
deployType string 系统版本类型,云端部署Cloud,本地Local
version string 版本号

(8)sysStatistics

字段 字段类型 字段内容
netAmount int 网络总数
runningNetAmount int 运行中网络总数
contractAmount int xuper链合约总数
pluginAmount int 组件总数

(9)chaincodeInfo

字段 字段类型 字段内容
name string 合约名称
lang string 合约语言,go,solidity,cpp,java

状态信息

(1)网络状态

状态 说明
RUNNING 运行中
ERROR 不可用

(2)网络部署类型

状态 说明
Connect 连接的网络
Join 加入的网络
Create 创建的网络

(3)节点状态

状态 说明
RUNNING 运行中
ERROR 不可用

错误码

错误码 说明
InvalidNetworkIdError 网络不存在
NetworkNameExistError 网络名称已存在