应用接入说明

应用管理是WeBASE管理台提供的一种第三方应用接入功能。其他应用可以通过WeBASE通用API来开发自己的运维管理台。接入的步骤如下:

  1. 通过WeBASE管理平台获得注册信息,并通过API向WeBASE注册服务。
  2. 通过WeBASE提供的基础能力API和WeBASE连通。

签名

签名说明

第三方应用从WeBASE管理平台获取注册信息WeBASE的IP和端口、为应用分配的appKey(应用Key)和appSecret(应用密码,应用自己保存,不要暴露),向WeBASE发送请求时,需要使用应用分配的appSecret对请求进行签名。WeBASE收到请求后,根据appKey查询应用对应的appSecret,使用相同规则对请求进行签名验证。只有在验证通过后,WeBASE才会对请求进行相应的处理。

  • 每个URL请求需带以下三个参数:
参数名类型描述参数值备注
timestamplong请求的时间戳(毫秒)1614928857832当前时间戳,有效期默认5分钟
appKeyString应用Keyfdsf78aW从WeBASE管理平台获取
signatureString签名串15B8F38…从WeBASE管理平台获取appSecret对appKey做的签名

签名规则

使用MD5对timestampappKey加密并转大写得到签名值signature

  1. public static String md5Encrypt(long timestamp, String appKey, String appSecret) {
  2. try {
  3. String dataStr = timestamp + appKey + appSecret;
  4. MessageDigest m = MessageDigest.getInstance("MD5");
  5. m.update(dataStr.getBytes("UTF8"));
  6. byte s[] = m.digest();
  7. String result = "";
  8. for (int i = 0; i < s.length; i++) {
  9. result += Integer.toHexString((0x000000FF & s[i]) | 0xFFFFFF00).substring(6);
  10. }
  11. return result.toUpperCase();
  12. } catch (Exception e) {
  13. e.printStackTrace();
  14. }
  15. return "";
  16. }

示例

  • 参数值:
参数参数值
timestamp1614928857832
appKeyfdsf78aW
appSecretoMdarsqFOsSKThhvXagTpNdoOcIJxUwQ
  • 签名后的 signature
  1. EEFD7CD030E6B311AA85B053A90E8A31

WeBASE通用API

1 应用管理模块

1.1 应用注册

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/appRegister?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1appIpString应用ip
2appPortint应用端口
3appLinkString应用服务链接

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/appRegister?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "appIp": "127.0.0.1",
  3. "appPort": 8080,
  4. "appLink": "http://127.0.0.1:8080/sample"
  5. }

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(空)

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "Success",
  4. "data": {}
  5. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

2 系统账号信息模块

2.1 查询帐号列表

查询系统登录账号列表,不返回密码

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/accountList?appKey={appKey}&signature={signature}&timestamp={timestamp}&pageNumber={pageNumber}&pageSize={pageSize}&account={account}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1pageSizeint每页记录数
2pageNumberint当前页码
3accountString帐号名,不为空时查询具体账号信息

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/accountList?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&pageNumber=1&pageSize=10&account=

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3totalCountint总记录数
4dataList信息列表
4.1Object信息对象
4.1.1accountString帐号
4.1.2roleIdint所属角色
4.1.3roleNameString角色名称
4.1.4roleNameZhString角色中文名
4.1.5loginFailTimeint登录失败次数
4.1.6accountStatusint帐号状态
4.1.7descriptionString备注
4.1.8createTimeLocalDateTime创建时间
4.1.9modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "account": "testAccount",
  7. "roleId": 100001,
  8. "roleName": "visitor",
  9. "roleNameZh": "访客",
  10. "loginFailTime": 0,
  11. "accountStatus": 1,
  12. "description": null,
  13. "createTime": "2019-03-04 15:11:44",
  14. "modifyTime": "2019-03-04 15:18:47"
  15. },
  16. {
  17. "account": "admin",
  18. "roleId": 100000,
  19. "roleName": "admin",
  20. "roleNameZh": "管理员",
  21. "loginFailTime": 0,
  22. "accountStatus": 2,
  23. "description": null,
  24. "createTime": "2019-02-14 17:33:50",
  25. "modifyTime": "2019-02-14 17:45:53"
  26. }
  27. ],
  28. "totalCount": 2
  29. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

3 链信息模块

3.1 查询基本信息

获取链基本信息,包括链版本、是否使用国密、是否使用国密SSL连接、WeBASE版本等。

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址: /api/basicInfo?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:GET
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

2)入参示例

  1. http://localhost:5001/WeBASE-Node-Manager/api/basicInfo?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataObject基本信息
3.1encryptTypeint是否使用国密(1: 国密,0:非国密)
3.2sslCryptoTypeint是否使用国密SSL连接(1: 国密,0:非国密)
3.3fiscoBcosVersionStringFISCO-BCOS版本
3.4webaseVersionStringWeBASE版本

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "encryptType": 1,
  6. "sslCryptoType": 1,
  7. "fiscoBcosVersion": "2.7.2 gm",
  8. "webaseVersion": "v1.5.0"
  9. },
  10. "attachment": null
  11. }

3.2 查询群组列表

默认只返回groupStatus为1的群组ID,可传入groupStatus筛选群组 (1-normal, 2-maintaining, 3-conflict-genesisi, 4-conflict-data)

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/groupList?appKey={appKey}&signature={signature}&timestamp={timestamp}&groupStatus={groupStatus}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1groupStatusint群组状态(默认1),1-正常, 2-维护中, 3-脏数据, 4-创世块冲突

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/groupList?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&groupStatus=

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3totalCountint总记录数
4dataList列表
4.1Object信息对象
4.1.1groupIdint群组编号
4.1.2groupNameString群组名称
4.1.2groupStatusint群组状态:1-正常, 2-维护中, 3-脏数据, 4-创世块冲突
4.1.2nodeCountint群组节点数
4.1.3latestBlockBigInteger最新块高
4.1.4transCountBigInteger交易量
4.1.5createTimeLocalDateTime落库时间
4.1.6modifyTimeLocalDateTime修改时间
4.1.2descriptionString群组描述
4.1.2groupTypeint群组类别:1-同步,2-动态创建

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "totalCount": 1,
  5. "data": [
  6. {
  7. "groupId":1,
  8. "groupName":"group1",
  9. "groupStatus":1,
  10. "nodeCount":4,
  11. "latestBlock":0,
  12. "transCount":0,
  13. "createTime":"2020-05-07 16:32:02",
  14. "modifyTime":"2020-05-08 10:50:13",
  15. "description":"synchronous",
  16. "groupType":1
  17. }
  18. ]
  19. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

3.3 查询所有节点列表

查询所有节点列表,用于获取所有节点信息,包括自动同步的节点信息

传输协议规范

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

请求参数

1)入参表

序号输入参数类型可为空备注
1pageSizeint每页记录数
2pageNumberint当前页码
3groupIdint群组id,不为空则查询该群组下所有节点
4nodeIdString节点编号,不为空则查询该节点相关信息

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/nodeList?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&pageNumber=1&pageSize=10

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3totalCountint总记录数
4dataList节点列表
4.1Object节点信息对象
4.1.1nodeIdString节点编号
4.1.2nodeNameString节点名称
4.1.3groupIdint所属群组编号
4.1.4nodeActiveint状态
4.1.5nodeIpString节点ip
4.1.6P2pPortint节点p2p端口
4.1.7descriptionString备注
4.1.8blockNumberBigInteger节点块高
4.1.9pbftViewBigIntegerPbft view
4.1.10createTimeLocalDateTime落库时间
4.1.11modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "totalCount": 1,
  5. "data": [
  6. {
  7. "nodeId": "5942fe2460c1a6329b8ebf5bc5a9ca9bd02ee944e8dac297742982de5920e7211489950ac4ac5eb1bd7219dcd773f861da496539d79328ae63f379f898bd2172",
  8. "nodeName": "127.0.0.1_10303",
  9. "groupId": 1,
  10. "nodeIp": "127.0.0.1",
  11. "p2pPort": 10303,
  12. "description": null,
  13. "blockNumber": 133,
  14. "pbftView": 5852,
  15. "nodeActive": 1,
  16. "createTime": "2019-02-14 17:47:00",
  17. "modifyTime": "2019-03-15 11:14:29"
  18. }
  19. ]
  20. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

3.4 查询节点信息

查询具体某个节点信息

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/nodeInfo?appKey={appKey}&signature={signature}&timestamp={timestamp}&groupId={groupId}&nodeId={nodeId}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1groupIdint群组id
2nodeIdString节点编号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/nodeInfo?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&groupId=1&nodeId=5942fe2460c1a6329b8ebf5bc5a9ca9bd02ee944e8dac297742982de5920e7211489950ac4ac5eb1bd7219dcd773f861da496539d79328ae63f379f898bd2172

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataObject节点信息对象
3.1nodeIdString节点编号
3.2nodeNameString节点名称
3.3groupIdint所属群组编号
3.4nodeActiveint状态
3.5nodeIpString节点ip
3.6P2pPortint节点p2p端口
3.7descriptionString备注
3.8blockNumberBigInteger节点块高
3.9pbftViewBigIntegerPbft view
3.10createTimeLocalDateTime落库时间
3.11modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "nodeId": "5942fe2460c1a6329b8ebf5bc5a9ca9bd02ee944e8dac297742982de5920e7211489950ac4ac5eb1bd7219dcd773f861da496539d79328ae63f379f898bd2172",
  6. "nodeName": "127.0.0.1_10303",
  7. "groupId": 1,
  8. "nodeIp": "127.0.0.1",
  9. "p2pPort": 10303,
  10. "description": null,
  11. "blockNumber": 133,
  12. "pbftView": 5852,
  13. "nodeActive": 1,
  14. "createTime": "2019-02-14 17:47:00",
  15. "modifyTime": "2019-03-15 11:14:29"
  16. }
  17. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

3.5 查询前置节点列表

查询前置及其对应节点信息列表,包括前置ip(对应节点Ip),节点端口等。

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/frontNodeList?appKey={appKey}&signature={signature}&timestamp={timestamp}&groupId={groupId}&nodeId={nodeId}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1groupIdInt所属群组编号
2nodeIdString节点编号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/frontNodeList?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31

返回参数

1)出参表

序号输出参数类型备注
1codeInt返回码,0:成功 其它:失败
2messageString描述
3totalCountInt总记录数
4dataList组织列表
4.1Object节点信息对象
4.1.1frontIdint前置编号
4.1.2frontIpstring前置ip
4.1.3frontPortint前置端口
4.1.4createTimeLocalDateTime落库时间
4.1.5modifyTimeLocalDateTime修改时间
4.1.6agencystring备注所属机构
4.1.7frontVersionstring前置的后台版本,如: v1.4.0
4.1.8signVersionstring前置所连接签名服务的后台版本,如: v1.4.0
4.1.9clientVersionstring链节点的版本,如: 2.5.0 gm
4.1.10supportVersionstring链节点所支持的最高版本, 如: 2.5.0, (此处仅显示支持的最高版本,不显示是否为国密。若从2.4.0升级到2.5.0,此处将返回2.4.0)
4.1.11statusint前置服务状态:0,未创建;1,停止;2,启动;
4.1.12runTypeint运行方式:0,命令行;1,Docker
4.1.13agencyIdint所属机构 ID
4.1.14agencyNamestring所属机构名称
4.1.15hostIdint所属主机
4.1.16hostIndexint一台主机可能有多个节点。表示在主机中的编号,从 0 开始编号
4.1.17imageTagstring运行的镜像版本标签
4.1.18containerNamestringDocker 启动的容器名称
4.1.19jsonrpcPortintjsonrpc 端口
4.1.20p2pPortintp2p 端口
4.1.21channelPortintchannel 端口
4.1.22chainIdint所属链 ID
4.1.23chainNamestring所属链名称
4.1.23groupListList节点所属群组列表

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "frontId": 500001,
  7. "frontIp": "127.0.0.1",
  8. "frontPort": 5002,
  9. "agency": "aa",
  10. "groupList": [
  11. 1,
  12. 2
  13. ],
  14. "frontVersion": "v1.4.0",
  15. "signVersion": "v1.4.0",
  16. "clientVersion": "2.5.0 gm",
  17. "supportVersion": "2.5.0",
  18. "createTime": "2019-06-04 20:49:42",
  19. "modifyTime": "2019-06-04 20:49:42",
  20. "status": 1,
  21. "runType": 1,
  22. "agencyId": 1,
  23. "agencyName": "AgencyA",
  24. "hostId": 1,
  25. "hostIndex": 0,
  26. "imageTag": "v2.5.0",
  27. "containerName": "rootfisconode0",
  28. "jsonrpcPort": 8545,
  29. "p2pPort": 30300,
  30. "channelPort": 20200,
  31. "chainId": 1,
  32. "chainName": "default_chain"
  33. }
  34. ],
  35. "totalCount": 1
  36. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

3.6 查询sdk证书信息

返回sdk证书文件名和内容,根据需要保存。根据底层是否使用国密和是否使用国密SSL连接,自动识别返回国密还是非国密证书。

  • 非国密证书:非国密链或国密链未使用国密SSL连接
  • 国密证书:国密链且使用国密SSL连接

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/sdkCert?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/sdkCert?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31

返回参数

1)出参表

序号输出参数类型备注
1codeInt返回码,0:成功 其它:失败
2messageString描述
3dataList列表
3.1Object信息对象
3.1.1nameint证书名
3.1.2contentstring证书内容

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "name": "sdk.key",
  7. "content": "-----BEGIN PRIVATE KEY-----\nMIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQg4mtXDYHIhSPJwmy+CBVZ\nfZM7cpSimSxTKsbtPEWqYZKhRANCAAQZhhhtmx872M2puJDQtfPJ0WE1DUvsxjLX\nmUzCO9OqKGVFjyo1fAMCgAqwObdp5NIW06y1EAqYKjNiZywsOwzC\n-----END PRIVATE KEY-----\n"
  8. },
  9. {
  10. "name": "ca.crt",
  11. "content": "-----BEGIN CERTIFICATE-----\nMIIBsTCCAVagAwIBAgIJAM+BzxI9PhQhMAoGCCqGSM49BAMCMDUxDjAMBgNVBAMM\nBWNoYWluMRMwEQYDVQQKDApmaXNjby1iY29zMQ4wDAYDVQQLDAVjaGFpbjAgFw0y\nMTAyMjYwMjQ2NTRaGA8yMTIxMDIwMjAyNDY1NFowNTEOMAwGA1UEAwwFY2hhaW4x\nEzARBgNVBAoMCmZpc2NvLWJjb3MxDjAMBgNVBAsMBWNoYWluMFYwEAYHKoZIzj0C\nAQYFK4EEAAoDQgAEYRLMZw7xe6xHt76AVHivokoHhz6ffwbKmOzbP0I5LAChwD5n\n1glOfWwJc4fFhn2bH/qfFlIGIdOj8vmOzywsqaNQME4wHQYDVR0OBBYEFPd7x8U8\nnHjZ5YWuzyKQh9SZ7p5bMB8GA1UdIwQYMBaAFPd7x8U8nHjZ5YWuzyKQh9SZ7p5b\nMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhAO9s16mWfFzceJahV2GA\n4Od9d0fBvMN+UamEUGL0twsOAiEAza/jJna1+nPKBVB+lxnfK3TpN/QH4V0sS1VW\nkpOFMVU=\n-----END CERTIFICATE-----\n"
  12. },
  13. {
  14. "name": "sdk.crt",
  15. "content": "-----BEGIN CERTIFICATE-----\nMIIBeTCCAR+gAwIBAgIJAPYOLyl8weZiMAoGCCqGSM49BAMCMDgxEDAOBgNVBAMM\nB2FnZW5jeUExEzARBgNVBAoMCmZpc2NvLWJjb3MxDzANBgNVBAsMBmFnZW5jeTAg\nFw0yMTAyMjYwMjQ2NTRaGA8yMTIxMDIwMjAyNDY1NFowMTEMMAoGA1UEAwwDc2Rr\nMRMwEQYDVQQKDApmaXNjby1iY29zMQwwCgYDVQQLDANzZGswVjAQBgcqhkjOPQIB\nBgUrgQQACgNCAAQZhhhtmx872M2puJDQtfPJ0WE1DUvsxjLXmUzCO9OqKGVFjyo1\nfAMCgAqwObdp5NIW06y1EAqYKjNiZywsOwzCoxowGDAJBgNVHRMEAjAAMAsGA1Ud\nDwQEAwIF4DAKBggqhkjOPQQDAgNIADBFAiBaUwBn+xmdq4kMY4RdamjOdy5IhGih\nLNlC6uowICpHFgIhAOPuWHD5FwJ6iKgia/Pg28vUh1OycM6m58SB0uYWHCPi\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBcTCCARegAwIBAgIJAKA09HPrLxBIMAoGCCqGSM49BAMCMDUxDjAMBgNVBAMM\nBWNoYWluMRMwEQYDVQQKDApmaXNjby1iY29zMQ4wDAYDVQQLDAVjaGFpbjAeFw0y\nMTAyMjYwMjQ2NTRaFw0zMTAyMjQwMjQ2NTRaMDgxEDAOBgNVBAMMB2FnZW5jeUEx\nEzARBgNVBAoMCmZpc2NvLWJjb3MxDzANBgNVBAsMBmFnZW5jeTBWMBAGByqGSM49\nAgEGBSuBBAAKA0IABMvK4cYauT6D3aVBGt4tl1lD0XGxGQ9On4dGsG7lnuyxn96x\nhWGWJf7WxWcIM5cSZRxmcH8yGxTfsVJQCCC0FuujEDAOMAwGA1UdEwQFMAMBAf8w\nCgYIKoZIzj0EAwIDSAAwRQIhAOwC+rimC9RWRjEVJqoI6eP+Hm8I0Cx+3SQc6yDa\n+sZXAiBRW+SRjA2PdxbKrUEWP88V5iIrKoaNedaKJn0ydBJuHQ==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBsTCCAVagAwIBAgIJAM+BzxI9PhQhMAoGCCqGSM49BAMCMDUxDjAMBgNVBAMM\nBWNoYWluMRMwEQYDVQQKDApmaXNjby1iY29zMQ4wDAYDVQQLDAVjaGFpbjAgFw0y\nMTAyMjYwMjQ2NTRaGA8yMTIxMDIwMjAyNDY1NFowNTEOMAwGA1UEAwwFY2hhaW4x\nEzARBgNVBAoMCmZpc2NvLWJjb3MxDjAMBgNVBAsMBWNoYWluMFYwEAYHKoZIzj0C\nAQYFK4EEAAoDQgAEYRLMZw7xe6xHt76AVHivokoHhz6ffwbKmOzbP0I5LAChwD5n\n1glOfWwJc4fFhn2bH/qfFlIGIdOj8vmOzywsqaNQME4wHQYDVR0OBBYEFPd7x8U8\nnHjZ5YWuzyKQh9SZ7p5bMB8GA1UdIwQYMBaAFPd7x8U8nHjZ5YWuzyKQh9SZ7p5b\nMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhAO9s16mWfFzceJahV2GA\n4Od9d0fBvMN+UamEUGL0twsOAiEAza/jJna1+nPKBVB+lxnfK3TpN/QH4V0sS1VW\nkpOFMVU=\n-----END CERTIFICATE-----\n"
  16. }
  17. ],
  18. "attachment": null
  19. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

4 私钥管理模块

**说明:**私钥传输时以Base64加密传输,示例如下:

  1. String hexPrivateKey = CryptoSuite.createKeyPair().getHexPrivateKey();
  2. // 加密
  3. String privateKey = Base64.getEncoder().encodeToString(hexPrivateKey.getBytes());
  4. // 解密
  5. hexPrivateKey = new String(Base64.getDecoder().decode(privateKey));

4.1 新增私钥用户

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/newUser?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1userNameString用户名称
2descriptionString备注
3groupIdint所属群组
4accountString关联系统账号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/newUser?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {"groupId":"1","userName":"bob","account":"admin","description":""}

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(成功时不为空)
3.1userIdint用户编号
3.2userNameString用户名称
3.3groupIdint所属群组编号
3.4descriptionString备注
3.5userStatusint状态(1-正常 2-停用) 默认1
3.6publicKeyString公钥信息
3.7privateKeyStringBase64加密后的私钥内容
3.8addressString用户链上地址
3.9hasPkint是否拥有私钥信息(1-拥有,2-不拥有)
3.10accountString关联系统账号
3.11signUserIdString用户在sign服务的ID
3.12createTimeLocalDateTime创建时间
3.13modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "userId": 700001,
  6. "userName": "bob",
  7. "account": "admin",
  8. "groupId": 1,
  9. "publicKey": "04d7e3391db028aba558e7111702b42d90db9fe3b3b47f19a9dd9ff3b7fd216e9f19adc4643b40c86cab266edbf947503b202f90ff3d8f07e5df49d7e2047f0636",
  10. "privateKey": "OGNlZDA1OTUyM2NmYjgzYThjYjk1MmMxMTM1YmQwZDViNzAzNmZkNWM2ZDExNmFhMjMwZWZkNGFmYzcwMWVjMQ==",
  11. "userStatus": 1,
  12. "chainIndex": null,
  13. "userType": 1,
  14. "address": "0xc1c7f7e5916d1cf787924128bca0cb5b34622952",
  15. "signUserId": "6c804064630e46f587de3d905e82295a",
  16. "appId": "1",
  17. "hasPk": 1,
  18. "description": "",
  19. "createTime": "2021-03-07 16:52:29",
  20. "modifyTime": "2021-03-07 16:52:29"
  21. },
  22. "attachment": null
  23. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

4.2 查询用户列表

返回用户信息列表,不返回私钥内容,查询私钥需调用4.3

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/userList?appKey={appKey}&signature={signature}&timestamp={timestamp}&pageNumber={pageNumber}&pageSize={pageSize}&groupId={groupId}&userParam={userParam}&account={account}&hasPrivateKey={hasPrivateKey}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1groupIdint所属群组id
2pageSizeint每页记录数
3pageNumberint当前页码
4userParamString查询参数(用户名或公钥地址)
5accountString关联系统账号
6hasPrivateKeyint是否拥有私钥(1-拥有,2-不拥有)

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/userList?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&pageNumber=1&pageSize=10&groupId=1

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3totalCountint总记录数
4dataList用户列表
4.1Object用户信息对象
4.1.1userIdint用户编号
4.1.2userNameString用户名称
4.1.3groupIdint所属群组编号
4.1.4descriptionString备注
4.1.5userStatusint状态(1-正常 2-停用) 默认1
4.1.6publicKeyString公钥信息
4.1.7privateKeyString列表不返回私钥
4.1.8addressString用户链上地址
4.1.9hasPkint是否拥有私钥信息(1-拥有,2-不拥有)
4.1.10accountString关联系统账号
4.1.11signUserIdString用户在sign服务的ID
4.1.12createTimeLocalDateTime创建时间
4.1.13modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "userId": 700001,
  7. "userName": "bob",
  8. "account": "admin",
  9. "groupId": 1,
  10. "publicKey": "04d7e3391db028aba558e7111702b42d90db9fe3b3b47f19a9dd9ff3b7fd216e9f19adc4643b40c86cab266edbf947503b202f90ff3d8f07e5df49d7e2047f0636",
  11. "privateKey": null,
  12. "userStatus": 1,
  13. "chainIndex": null,
  14. "userType": 1,
  15. "address": "0xc1c7f7e5916d1cf787924128bca0cb5b34622952",
  16. "signUserId": "6c804064630e46f587de3d905e82295a",
  17. "appId": "1",
  18. "hasPk": 1,
  19. "description": "",
  20. "createTime": "2021-03-07 16:52:29",
  21. "modifyTime": "2021-03-07 16:52:29"
  22. }
  23. ],
  24. "totalCount": 1
  25. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

4.3 查询用户信息

返回具体用户信息,包含私钥内容(Base64加密后的私钥内容)。

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/userInfo?appKey={appKey}&signature={signature}&timestamp={timestamp}&userId={userId}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1userIdint用户编号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/userInfo?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31&userId=700001

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(成功时不为空)
3.1userIdint用户编号
3.2userNameString用户名称
3.3groupIdint所属群组编号
3.4descriptionString备注
3.5userStatusint状态(1-正常 2-停用) 默认1
3.6publicKeyString公钥信息
3.7privateKeyStringBase64加密后的私钥内容
3.8addressString用户链上地址
3.9hasPkint是否拥有私钥信息(1-拥有,2-不拥有)
3.10accountString关联系统账号
3.11signUserIdString用户在sign服务的ID
3.12createTimeLocalDateTime创建时间
3.13modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "userId": 700001,
  6. "userName": "bob",
  7. "account": "admin",
  8. "groupId": 1,
  9. "publicKey": "04d7e3391db028aba558e7111702b42d90db9fe3b3b47f19a9dd9ff3b7fd216e9f19adc4643b40c86cab266edbf947503b202f90ff3d8f07e5df49d7e2047f0636",
  10. "privateKey": "OGNlZDA1OTUyM2NmYjgzYThjYjk1MmMxMTM1YmQwZDViNzAzNmZkNWM2ZDExNmFhMjMwZWZkNGFmYzcwMWVjMQ==",
  11. "userStatus": 1,
  12. "chainIndex": null,
  13. "userType": 1,
  14. "address": "0xc1c7f7e5916d1cf787924128bca0cb5b34622952",
  15. "signUserId": "6c804064630e46f587de3d905e82295a",
  16. "appId": "1",
  17. "hasPk": 1,
  18. "description": "",
  19. "createTime": "2021-03-07 16:52:29",
  20. "modifyTime": "2021-03-07 16:52:29"
  21. },
  22. "attachment": null
  23. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

4.4 导入私钥用户

导入私钥,其中私钥字段用Base64加密

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/importPrivateKey?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1privateKeyStringBase64加密后的私钥内容
2userNameString用户名称
3descriptionString备注
4groupIdint所属群组
5accountString关联系统账号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/importPrivateKey?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "privateKey": "Yjk4YzM3Y2EzNTMxMzNiOWI2MWUwOTMxODhmOTk2NTc2MGYxMTBhMTljNTI2MmY3NTczMDVkNThlOGM3ZWNlMA==",
  3. "groupId": 1,
  4. "description": "test",
  5. "userName": "alice",
  6. "account": "admin"
  7. }

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success"
  4. }
  • 失败:
  1. {
  2. "code": 201031,
  3. "message": "privateKey decode fail",
  4. "data": null
  5. }

4.5 导入.pem私钥

可导入控制台所生成的私钥.pem文件

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/importPem?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1pemContentStringpem文件的内容,必须以——-BEGIN PRIVATE KEY——-\n开头,以\n——-END PRIVATE KEY——-\n结尾的格式
2userNameString用户名称
3descriptionString备注
4groupIdint所属群组
5accountString关联系统账号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/importPem?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "pemContent":"-----BEGIN PRIVATE KEY-----\nMIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgC8TbvFSMA9y3CghFt51/\nXmExewlioX99veYHOV7dTvOhRANCAASZtMhCTcaedNP+H7iljbTIqXOFM6qm5aVs\nfM/yuDBK2MRfFbfnOYVTNKyOSnmkY+xBfCR8Q86wcsQm9NZpkmFK\n-----END PRIVATE KEY-----\n",
  3. "groupId": "1",
  4. "description": "test",
  5. "userName": "user2",
  6. "account": "admin"
  7. }

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success"
  4. }
  • 失败:
  1. {
  2. "code": 201232,
  3. "message": "Pem file format error, must surrounded by -----XXXXX PRIVATE KEY-----"",
  4. "data": null
  5. }

4.6 导入.p12私钥

可导入控制台生成的私钥.p12文件

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/importP12?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: form-data
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1p12FileMultipartFile.p12文件
2p12PasswordString使用base64编码的密码;.p12文件的密码,缺省时默认为””,即空密码;p12无密码时,可传入空值或不传;不包含中文
3userNameString用户名称
4descriptionString备注
5groupIdint所属群组
6accountString关联系统账号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/importP12?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31

使用form-data传参

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success"
  4. }
  • 失败:(p12文件的密码错误)
  1. {
  2. "code": 201236,
  3. "message": "p12's password not match",
  4. "data": null
  5. }

4.7 导入公钥用户

传输协议规范

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

请求参数

1)入参表

序号输入参数类型可为空备注
1userNamestring用户名称
2publicKeystring用户公钥
3groupIdInt所属群组
4accountstring关联账户
5descriptionstring备注

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/importPublicKey?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "userName": "rose",
  3. "publicKey": "0x98c4e9896dfa062c7555ede0f1509bda90668902ee9a3b382a3941869d3d69026ece966e1afe9f9de41c2e762750dee8d7df47439b3340a22cd620e2f6975ef8",
  4. "groupId": 1,
  5. "description": "test",
  6. "account": "admin"
  7. }

返回参数

1)出参表

序号输出参数类型备注
1codeInt返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(成功时不为空)
3.1userIdint用户编号
3.2userNamestring用户名称
3.3groupIdint所属群组编号
3.4descriptionString备注
3.5userStatusint状态(1-正常 2-停用) 默认1
3.6publicKeyString公钥信息
3.7addressString在链上位置的hash
3.8hasPkInt是否拥有私钥信息(1-拥有,2-不拥有)
3.9accountstring关联账户
3.10createTimeLocalDateTime创建时间
3.11modifyTimeLocalDateTime修改时间

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "userId": 700003,
  6. "userName": "rose",
  7. "account": "admin",
  8. "groupId": 1,
  9. "publicKey": "0x98c4e9896dfa062c7555ede0f1509bda90668902ee9a3b382a3941869d3d69026ece966e1afe9f9de41c2e762750dee8d7df47439b3340a22cd620e2f6975ef8",
  10. "privateKey": null,
  11. "userStatus": 1,
  12. "chainIndex": null,
  13. "userType": 1,
  14. "address": "0xd5eefc7e9df47f17ee8da8639078ac5da934a782",
  15. "signUserId": null,
  16. "appId": null,
  17. "hasPk": 2,
  18. "description": "sdfa",
  19. "createTime": "2021-03-12 18:39:39",
  20. "modifyTime": "2021-03-12 18:39:39"
  21. },
  22. "attachment": null
  23. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

5 合约管理模块

5.1 合约原文保存接口

导入应用合约原文信息,按版本导入,WeBASE会存储到应用合约仓库表。当应用调用合约地址保存接口(5.2)时,会从合约仓库表获取对应合约保存到合约表,在WeBASE管理平台展示。

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/contractSourceSave?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1contractListList合约列表
1.1contractNameString合约名称
1.2contractSourceString合约源码的base64
1.3contractAbiString合约编译后生成的abi文件内容
1.4bytecodeBinString合约编译后生成的bytecodeBin,可用于合约部署
2contractVersionString合约版本
3accountString关联系统账号

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/contractSourceSave?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "contractList": [
  3. {
  4. "contractName": "HelloWorld",
  5. "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLjQuMjsNCmNvbnRyYWN0IEhlbGxvV29ybGR7DQogICAgc3RyaW5nIG5hbWU7DQogICAgZXZlbnQgU2V0TmFtZShzdHJpbmcgbmFtZSk7DQogICAgZnVuY3Rpb24gZ2V0KCljb25zdGFudCByZXR1cm5zKHN0cmluZyl7DQogICAgICAgIHJldHVybiBuYW1lOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXQoc3RyaW5nIG4pew0KICAgICAgICBlbWl0IFNldE5hbWUobik7DQogICAgICAgIG5hbWU9bjsNCiAgICB9DQogICAgZnVuY3Rpb24gZ2V0KGJ5dGVzMzJbXSB2KWNvbnN0YW50IHJldHVybnMoYWRkcmVzcyl7DQogICAgICAgIGlmICh2Lmxlbmd0aCA8IDIpIHsNCiAgICAgICAgICAgIHJldHVybiAweDA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIDB4MTsNCiAgICB9DQp9",
  6. "contractAbi": "[{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"v\",\"type\":\"bytes32[]\"}],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"}]",
  7. "bytecodeBin": "608060405234801561001057600080fd5b50610443806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634ed3885e1461005c5780636d4ce63c146100c5578063abf306a814610155575b600080fd5b34801561006857600080fd5b506100c3600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101fb565b005b3480156100d157600080fd5b506100da6102b1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011a5780820151818401526020810190506100ff565b50505050905090810190601f1680156101475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016157600080fd5b506101b960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610353565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b7f4df9dcd34ae35f40f2c756fd8ac83210ed0b76d065543ee73d868aec7c7fcf02816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561025d578082015181840152602081019050610242565b50505050905090810190601f16801561028a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a180600090805190602001906102ad929190610372565b5050565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103495780601f1061031e57610100808354040283529160200191610349565b820191906000526020600020905b81548152906001019060200180831161032c57829003601f168201915b5050505050905090565b6000600282511015610368576000905061036d565b600190505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103b357805160ff19168380011785556103e1565b828001600101855582156103e1579182015b828111156103e05782518255916020019190600101906103c5565b5b5090506103ee91906103f2565b5090565b61041491905b808211156104105760008160009055506001016103f8565b5090565b905600a165627a7a72305820731c8ae3330a613a2a8c196a28a9fb816dd19bdea5fdcab508d9d968af0fdccd0029",
  8. "account": "admin"
  9. }
  10. ],
  11. "contractVersion": "1.0.0",
  12. "account": "admin"
  13. }

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(空)

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": null
  5. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

5.2 合约地址保存接口

应用自己部署完合约,导入相应合约地址。导入时,WeBASE会从应用合约仓库表获取对应合约保存到合约表,从而可以在WeBASE管理平台进行展示和调用。

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/contractAddressSave?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:POST
  • 请求头:Content-type: application/json
  • 返回格式:JSON

请求参数

1)入参表

序号输入参数类型可为空备注
1groupIdint所属群组编号
2contractNameString合约名称
3contractPathString合约目录(应用以自己部署合约的逻辑定义路径,部署一次则提供一个路径,该路径在WeBASE管理平台合约文件夹)
4contractAddressString合约地址
5contractVersionString合约版本

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/contractAddressSave?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31
  1. {
  2. "groupId": "1",
  3. "contractName": "hellos",
  4. "contractPath": "/",
  5. "contractVersion": "1.0.0",
  6. "contractAddress": "0x651a8e7899084019f82a93da880d77470bacf6d7"
  7. }

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataobject返回信息实体(空)

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": null
  5. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

6 其他接口

6.1 查询数据库信息

传输协议规范

  • 网络传输协议:使用HTTP协议
  • 请求地址:/api/dbInfo?appKey={appKey}&signature={signature}&timestamp={timestamp}
  • 请求方式:GET
  • 返回格式:JSON

请求参数

1)入参表

2)入参示例

  1. http://127.0.0.1:5001/WeBASE-Node-Manager/api/dbInfo?timestamp=1614928857832&appKey=fdsf78aW&signature=EEFD7CD030E6B311AA85B053A90E8A31

返回参数

1)出参表

序号输出参数类型可为空备注
1codeint返回码,0:成功 其它:失败
2messageString描述
3dataObject返回信息实体
3.1dbIpString数据库IP
3.2dbPortint数据库端口
3.3dbUserString数据库用户名
3.4dbPwdStringBase64加密后的数据库密码

2)出参示例

  • 成功:
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "dbIp": "127.0.0.1",
  6. "p2pPort": 3306,
  7. "dbUser": test,
  8. "dbPwd": "Yjk4YzM3Y2EzNTMxMzNiOWI2MWUwOTMxODhmOTk2NTc2MGYxMTBhMTljNTI2MmY3NTcz=="
  9. }
  10. }
  • 失败:
  1. {
  2. "code": 102000,
  3. "message": "system exception",
  4. "data": {}
  5. }

附录

1. 返回码信息列表

codemessage描述
0success成功
102001system error系统异常
202001database exception数据库异常
202005group id cannot be empty群组不能为空
202012user id cannot be empty用户编号不能为空
202013invalid user无效的用户编号
202014user already exists用户信息已经存在
202015contract already exists合约信息已经存在
202017invalid contract id无效的合约编号
202018invalid param info无效的入参信息
202019contract name cannot be repeated合约名称不能重复
202027account info not exists该帐号不存在
202028account name empty帐号名称不能为空
202029invalid account name无效的账号名称
202520contract source not exist合约原文不存在
202521timestamp cannot be empty时间戳不能为空
202522appKey cannot be empty应用Key不能为空
202523signature cannot be empty签名不能为空
202524timestamp timeout时间戳超时
202525app key not exists应用Key不存在
202526signature not match签名不匹配