trustsql_cli接口描述
该客户端演示了区块链云平台的接口访问过程,机构只需要根据接口命令行传参,程序可以完成包括签名、打包请求、发送HTTPS到CGI、返回Json打印;期间出现的所有错误、异常都以Json格式打印,解决用户对SDK调用难的问题,而开放的源码可以给用户进行参考并实现快速开发。
调用方式:./trustsql_cli <命令名称> <必选参数> [可选参数]
客户端名:trustsql_cli
命令名称:以t开头的命令
返回结果:Json格式
类型说明:
Int:指整形数字
String:指字符串
JsonObject:指json对象,请参考www.json.org
JsonArray:指json数组,请参考www.json.org
SDK类基础命令
包括SDK中的接口命令。
生成公私钥对
命令:tGeneratePairkey [count]
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| 可选参数 | ||
| count | Int | 生成数量,默认为1 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| private_key | String | 私钥 |
| public_key | String | 公钥 |
验证公私钥对
命令:tCheckPairkey <'["private_key","public_key" , ...]'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| private_key | String | 私钥 |
| public_key | String | 公钥 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| private_key | String | 私钥 |
| public_key | String | 公钥 |
| verify | Boolean | 是否匹配 |
通过私钥计算相应公钥
命令:tGeneratePubkeyByPrvkey <'["private_key" , ...]'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| private_key | String | 私钥 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| private_key | String | 私钥 |
| public_key | String | 公钥 |
通过公钥获取对应地址
命令:tGenerateAddrByPubkey <'["public_key" , ...]'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| public_key | String | 公钥 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| public_key | String | 公钥 |
| address | String | 地址 |
通过私钥获取对应地址
命令:tGenerateAddrByPrvkey <'["private_key" , ...]'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| private_key | String | 私钥 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| private_key | String | 私钥 |
| address | String | 地址 |
为字符串进行签名
命令:tSignString <'private_key'> <'text'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| private_key | String | 私钥 |
| text | String | 签名源串 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| private_key | String | 私钥 |
| text | String | 签名源串 |
| text_hex | String | 签名源串hex |
| sign | String | 签名 |
验证签名有效性
命令:tVerifySign <'public_key'> <'text'> <'sign'>
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| public_key | String | 公钥 |
| text | String | 签名源串 |
| sign | String | 签名 |
| 可选参数 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| public_key | String | 公钥 |
| text | String | 签名源串 |
| text_hex | String | 签名源串hex |
| sign | String | 签名 |
| verify | Boolean | 是否有效 |
信息共享服务命令
包括信息共享服务接口命令。
追加共享信息
命令:tIssAppend <mch_id> <mch_private_key> <'[{"version","info_key","info_version","state","content","notes","commit_time","private_key"} , ...]'>[--domain ""] [--proxy ""][--verbose]
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| mch_id | String | 通讯方的id(通过管理页面获取) |
| mch_private_key | String | 通讯方的私钥 |
| version | String | 版本号,填1.0 |
| info_key | String | 信息的唯一识别号。一个info_key内包含一系列不同版本号的记录,与info_version共同确定唯一一条记录。 |
| info_version | Int | 信息的版本号。当信息新增时必须为1;当信息追加记录时版本号为上一条记录的版本号加1。防止多客户端同时更新信息时,内容相互覆盖;发生冲突时,后处理者会返回失败。 |
| state | Int | 由业务自行定义。 |
| content | JsonObject | 由业务自行定义,长度限制4k字节。采用标准的双引号而非单引号来封装key和value,请求参数中不能转义双引号。格式:{"xxx":"xxx", …} |
| notes | JsonObject | 由业务自行定义,长度限制4k字节。采用标准的双引号而非单引号来封装key和value,请求参数中不能转义双引号。格式:{"xxx":"xxx", …} |
| commit_time | String | 由业务自行定义。格式:YYYY-MM-DD HH:mm:SS |
| private_key | String | 记录方的私钥 |
| 可选参数 | ||
| --domain | String | 主站域名,默认为:open.trustsql.qq.com。 |
| --proxy | String | HTTP代理,默认为空。 |
| --verbose | Null | 显示详细调试信息。 |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| retcode | Int | 返回状态码,0表示成功,其它为失败。 |
| retmsg | String | 返回信息,如非空,为错误原因。 |
| version | String | 版本号 |
| sign_type | String | 签名算法类型,本版本固定为“ECDSA” |
| mch_id | String | 服务方的id |
| mch_sign | String | 服务方签名结果 |
| mch_sign_verify | Boolean | 服务方签名是否有效 |
| info_key | String | 同信息录入接口 |
| info_version | Int | 同信息录入接口 |
| state | Int | 同信息录入接口 |
| content | JsonObject | 同信息录入接口 |
| notes | JsonObject | 同信息录入接口 |
| commit_time | String | 同信息录入接口 |
| address | String | 同信息录入接口 |
| public_key | String | 同信息录入接口 |
| sign | String | 同信息录入接口 |
| sign_verify | Boolean | 记录签名是否有效 |
| t_hash | String | 可选字段,可能为空 |
| b_height | Int | 可选字段,可能为空 |
| b_prev_hash | String | 可选字段,可能为空 |
| b_hash | String | 可选字段,可能为空 |
| b_time | String | 可选字段,可能为空 |
共享信息查询
命令:tIssQuery <mch_id> <mch_private_key> <'[{"version","info_key","info_version","state","content","notes","range","address","t_hash","page_no","page_limit","timestamp"} , ...]'> [--domain ""] [--proxy ""] [--verbose]
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 必选参数 | ||
| mch_id | String | 通讯方的id(通过管理页面获取) |
| mch_private_key | String | 通讯方的私钥 |
| version | String | 版本号,填1.0 |
| info_key | String | 信息的唯一识别号。一个info_key内包含一系列不同版本号的记录,与info_version共同确定唯一一条记录。 |
| info_version | Int | 信息的版本号。当信息新增时必须为1;当信息追加记录时版本号为上一条记录的版本号加1。防止多客户端同时更新信息时,内容相互覆盖;发生冲突时,后处理者会返回失败。 |
| state | Int | 由业务自行定义。 |
| content | JsonObject | 由业务自行定义,长度限制4k字节。采用标准的双引号而非单引号来封装key和value,请求参数中不能转义双引号。格式:{"xxx":"xxx", …} |
| notes | JsonObject | 由业务自行定义,长度限制4k字节。采用标准的双引号而非单引号来封装key和value,请求参数中不能转义双引号。格式:{"xxx":"xxx", …} |
| range | JsonObject | 作为查询条件,范围查询条件 |
| address | String | 查询符合此记录方地址的记录 |
| t_hash | String | 查询符合此记录哈希的记录 |
| page_no | Int | 第几页,默认1 |
| page_limit | Int | 分页显示时每页显示多少条,默认10 |
| 可选参数 | ||
| --domain | String | 主站域名,默认为:open.trustsql.qq.com。 |
| --proxy | String | HTTP代理,默认为空。 |
| --verbose | Null | 显示详细调试信息。 |
Range范围查询条件(json)
| 参数名 | 类型 | 说明 |
|---|---|---|
| b_height | JsonObject | 条件范围,区块高度范围 |
| commit_time | JsonObject | 条件范围,commit_time时间范围 |
条件范围(json)
| 参数名 | 类型 | 说明 |
|---|---|---|
| from | String | 作为查询条件,查询这个条件之后的信息记录(>=) |
| to | String | 作为查询条件,查询这个条件之前的信息记录(<=) |
返回:[{如下字段} , …]
| 参数名 | 类型 | 说明 |
|---|---|---|
| retcode | Int | 返回状态码,0表示成功,其它为失败。 |
| retmsg | String | 返回信息,如非空,为错误原因。 |
| version | String | 版本号 |
| sign_type | String | 签名算法类型,本版本固定为“ECDSA” |
| mch_id | String | 服务方的id |
| mch_sign | String | 服务方签名结果 |
| mch_sign_verify | Boolean | 服务方签名是否有效 |
| total_infos | Int | 符合条件的记录总条数 |
| infos | JsonArray | 本次查询出的记录列表json数组 |
记录列表(json数组)
| 参数名 | 类型 | 说明 |
|---|---|---|
| info_key | String | 同信息录入接口 |
| info_version | Int | 同信息录入接口 |
| state | Int | 同信息录入接口 |
| content | JsonObject | 同信息录入接口 |
| notes | JsonObject | 同信息录入接口 |
| commit_time | String | 同信息录入接口 |
| address | String | 同信息录入接口 |
| public_key | String | 同信息录入接口 |
| sign | String | 同信息录入接口 |
| t_hash | String | 记录哈希 |
| b_height | Int | 区块高度 |
| b_prev_hash | String | 前块哈希 |
| b_hash | String | 本块哈希 |
| b_time | String | 区块时间 |