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 区块时间
返回顶部