接口说明

1. 合约接口

1.1. 合约编译接口

接口描述

调用此接口编译合约。上传合约文件zip压缩包(压缩包里的每个合约的文件名要和合约名一致,合约引用需使用“./xxx.sol”),返回合约编译信息。

接口URL

http://localhost:5003/WeBASE-Transaction/contract/compile

调用方法

HTTP POST

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 合约文件 file zip 必须是zip压缩包

2)数据格式

压缩包文件

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": [
    {
      "contractName": "HelloWorld",
      "contractBin": "xxx",
      "contractAbi": []
    }
  ]
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

1.2. 合约部署接口

接口描述

调用此接口发送合约部署相关信息,交易服务子系统会将合约部署请求信息缓存到数据库,通过轮询服务向节点发送交易请求,确保合约成功部署。

接口URL

http://localhost:5003/WeBASE-Transaction/contract/deploy

调用方法

HTTP POST

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 部署业务流水号 uuidDeploy String 64
3 签名类型 signType int 2 0-本地配置私钥签名,1-本地随机私钥签名,2-调用WeBASE-Sign签名
4 合约Bin contractBin String
5 合约Abi contractAbi List\<Object> JSON数组
6 构造方法参数 funcParam List\<Object> JSON数组

2)数据格式

{
  "groupId":1,
  "uuidDeploy":"XXX",
  "signType":0,
  "contractBin":"0xXXXXX",
  "contractAbi":[],
  "funcParam":["hello"]
}

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": null
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

1.3. 合约地址查询接口

接口描述

根据群组编号和和部署业务流水号查询部署的合约地址。

接口URL

http://localhost:5003/WeBASE-Transaction/contract/address/{groupId}/{uuidDeploy}

调用方法

HTTP GET

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 部署业务流水号 uuidDeploy String 64

2)数据格式

http://127.0.0.1:5003/WeBASE-Transaction/contract/address/1/10001

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object 合约地址

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": "0xXXXXX"
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

1.4. 部署event查询接口

接口描述

根据群组编号和和部署业务流水号查询部署的合约的构造函数的event信息。

接口URL

http://localhost:5003/WeBASE-Transaction/contract/event/{groupId}/{uuidDeploy}

调用方法

HTTP GET

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 部署业务流水号 uuidDeploy String 64

2)数据格式

http://127.0.0.1:5003/WeBASE-Transaction/contract/event/1/10001

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": {
    "constructorEvent1": [
        "hello!"
    ],
    "constructorEvent": [
        "test",
        8
    ]
  }
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

2. keystore接口

2.1. 查询账户地址接口

接口描述

查询本地配置私钥对应的账户地址 。

接口URL

http://localhost:5003/WeBASE-Transaction/key/address

调用方法

HTTP GET

请求参数

1)参数表

2)数据格式

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": {
    "0xfe12013103cf85f05b0862e5ef49da4fbdbd8f99"
  }
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

3. 交易接口

3.1. 交易请求接口

接口描述

调用此接口发送无状态交易请求,交易服务子系统会将交易请求信息缓存到数据库,通过轮询服务向节点发送交易请求,确保交易成功上链。当部署业务流水号为空时(即不是调用交易子系统部署合约),合约地址和abi不能为空。

接口URL

http://localhost:5003/WeBASE-Transaction/trans/send

调用方法

HTTP POST

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 交易业务流水号 uuidStateless String 64
3 部署业务流水号 uuidDeploy String 64
4 签名类型 signType int 2 0-本地配置私钥签名,1-本地随机私钥签名,2-调用WeBASE-Sign签名
5 合约地址 contractAddress String
6 合约Abi contractAbi List\<Object> JSON数组
7 调用方法名 funcName String
8 方法参数 funcParam List\<Object> JSON数组

2)数据格式

{
  "groupId":1,
  "uuidStateless":"XXX",
  "uuidDeploy":"XXX",
  "signType":0,
  "contractAddress":"0xXXXXX",
  "contractAbi":[],
  "funcName":"set",
  "funcParam":["hello"]
}

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": null
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

3.2. 交易查询接口

接口描述

调用此接口同步从节点查询交易信息。当部署业务流水号为空时(即不是调用交易子系统部署合约),合约地址和abi不能为空。

接口URL

http://localhost:5003/WeBASE-Transaction/trans/call

调用方法

HTTP POST

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 部署业务流水号 uuidDeploy String 64
3 合约地址 contractAddress String
4 合约Abi contractAbi List\<Object> JSON数组
5 调用方法名 funcName String
6 方法参数 funcParam List\<Object> JSON数组

2)数据格式

{
  "groupId":1,
  "uuidDeploy":"XXX",
  "contractAbi":[],
  "funcName":"get",
  "funcParam":[]
}

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": [
    "hello"
  ]
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

3.3. 交易请求event查询接口

接口描述

根据群组编号和交易业务流水号查询交易请求的event信息。

接口URL

http://localhost:5003/WeBASE-Transaction/trans/event/{groupId}/{uuidStateless}

调用方法

HTTP GET

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 交易业务流水号 uuidStateless String 64

2)数据格式

http://127.0.0.1:5003/WeBASE-Transaction/trans/event/1/20001

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": {
    "setEvent": [
        "test"
    ],
    "setEvent1": [
        "test"
    ]
  }
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

3.4. 交易请求output查询接口

接口描述

根据群组编号和交易业务流水号查询交易请求的output信息。

接口URL

http://localhost:5003/WeBASE-Transaction/trans/output/{groupId}/{uuidStateless}

调用方法

HTTP GET

请求参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 群组编号 groupId int 16
2 交易业务流水号 uuidStateless String 64

2)数据格式

http://127.0.0.1:5003/WeBASE-Transaction/trans/output/1/20001

响应参数

1)参数表

序号 中文 参数名 类型 最大长度 必填 说明
1 返回码 code String 返回码信息请附录1
2 提示信息 message String
3 返回数据 data Object

2)数据格式

a.请求正常返回结果

{
  "code": 0,
  "message": "success",
  "data": [
    "hello!"
  ]
}

b.异常返回结果示例(信息详情请参看附录1)

{
  "code": 103001,
  "message": "system error",
  "data": null
}

附录

1. 返回码信息列表

Code message 描述
0 success 正常
103001 system error 系统异常
103002 param valid fail 参数校验异常
203001 group id cannot be empty 群组编号不能为空
203002 uuid cannot be empty 业务流水号不能为空
203003 sign type cannot be empty 签名类型不能为空
203004 contract bin cannot be empty 合约bin不能为空
203005 contract abi cannot be empty 合约abi不能为空
203006 contract address cannot be empty 合约地址不能为空
203007 function name cannot be empty 方法名不能为空
303001 uuid is already exists 业务流水号已经存在
303002 get sign data from sign service error 调用签名服务签名错误
303003 contract funcParam is error 合约方法参数错误
303004 sign type is not exists 签名类型不存在
303005 contract abi is empty 合约abi不存在
303006 request function can not be constant 交易上链不能为constant方法
303007 query function must be constant 查询方法必须是constant
303008 query data from chain failed 查询链上数据失败
303009 file cannot be empty 文件不能为空
303010 it is not a zip file 文件不是zip格式
303011 contract has not been deployed 合约还没有部署
303012 contract compile error 合约编译错误
303013 node request failed 节点请求失败
303014 there is not event 不存在event
303015 trans has not been sent to the chain 交易还没有上链
303016 if deploy uuid is empty, contract address and contract abi cannot be empty 部署业务流水号为空时,合约地址和abi不能为空
303017 trans output is empty 交易返回值为空
303018 trans is not exist 交易不存在
303019 request group id has not been configured 请求的群组编号未配置