4.3.1 凭证API应用基础概述
4.3.1.1 接入前准备
- 接入节点
- 中间件(底层链通讯的封装,链上数据同步,链上数据推送)
- mongodb(中间件数据存储)
- RocketMQ(中间件数据推送)
- 加密机(可选,密钥管理,签名工具)
- API服务(合约业务接口封装)
- MySQL(API服务数据存储)
4.3.1.2 相关名词表
名词 | 类型 | 解释 |
---|---|---|
bizId | string | 业务流水号(最长32位),业务方生成,且需要保证全局唯一 |
txHash | string | 交易hash,上链接口底层链返回的交易回执 |
blockLimit | biginteger | 超时块号,一笔交易在此块号之前认为被确认打包,那么这笔交易会被认为是失败的交易(获取最新块号+N块) |
regionId | string | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 一般是一个合约的代理地址,16进制字符串,部署时提供,可做业务系统配置项 |
hsmUserId | string | 安全插件用户唯一标识 |
signatureInBase64 | string | 签名数据的base64编码 |
publicKeyAddress | string | 公钥地址,由公钥计算出来 |
4.3.2 凭证API应用调用说明
4.3.2.1 接口调用说明
请求:
GET http://API_HOST:port/path HTTP/1.1
POST http://API_HOST:port/path HTTP/1.1
Content-Type: application/json; charset=utf-8
响应:
响应的格式为:
{
"code": Integer(),
"message": "描述",
"detail": Object()
}
其中code为错误码,message为错误描述,detail为请求成功时的返回值。
4.3.2.2 注意事项
上链接口的bizId在交易重试时需要重新计算,blockLimit由api服务计算超时块号可在配置文件中配置。
- bizId区块链要求在一定的块区间内不能重复,如果重复则直接上链失败。
- blockLimit超时块号会在请求API服务时返回。
使用我们提供的安全插件生成公钥信息的接口,
http://[HSM_HOST:port]/[server]/crypt/generateKeyFromHsm.json?userId=TEST12345678&type=SM2
。
参数userId要业务方保证不可重复,因为重复的userId接口会返回相同的公钥地址。从业务上讲,公钥地址应该是不能重复的。
4.3.2.3 解析MQ事件
消息监听请参照MQ产品官方文档。
下面以阿里RocketMQ接入举例。
MQ消息主要有两种类型。
EVENT_BLOCKNUMBER 块号更新事件
块号更新事件是指中间件同步了一个新块下来,然后发送了一条MQ消息给业务系统。
消息内容为:
{ "blockNumber":9571, "blockHash":"095d8fe634c54b11752d2847cd5cd4e33abd1f4d24714ca5f693bece36e1d1b2", "preBlockHash":"23a5e309dd87b49ccf03874cdebf59c4f6bad2697dbf38628205a619b9cf4c3b", "blockTime":1595503411925, "regionId":"0000000000000000000000000000000000000000" }
| 字段名 | 字段类型 | 字段说明 | | ------------ | ---------- | -------------- | | blockNumber | biginteger | 块号 | | blockHash | string | 当前块的块hash | | preBlockHash | string | 前一块的块hash | | blockTime | long | 上链时间戳 | | regionId | string | 专区编号 |
EVENT_TX_RECORDED 交易事件
消息内容如下
{ "txHash":"3fbc0b8dbfe74ec8b7a1178895d98ffff73afa2fc179346def776b761c2c80d0", "success":true, "bizId":"1598001532", "code":0, "blockNumber":7487508, "timestamp":null, "signer":"7823540e2f6fe796e95c761b1328dec0387c8adf", "regionId":"000000000052d197000000005edf67c300000000", "regionPageHash":"144370c6e0456744d221109a821e96bb32f7c2586254913739eea19aa3cad9c7", "contractList":[ "aae0f4dabab653910570454854a84f36e5f6ab31", "bae0f4dabab653910570454854a84f36e5f6ab31", "cae0f4dabab653910570454854a84f36e5f6ab31" ] }
| 字段名 | 字段类型 | 字段说明 | | -------------- | ---------- | --------------- | | txHash | string | 交易hash | | success | bool | 交易是否成功 | | bizId | string | 业务流水号 | | code | int | 0为合约调用成功 | | blockNumber | biginteger | 块号 | | timestamp | object | 预留字段 | | signer | string | 交易发起方 | | regionId | string | 专区编号 | | regionPageHash | string | 专区页Hash | | contractList | string[] | 合约地址列表 |
这个事件类型可以使用以下方式获取。
阿里RocketMQ
com.aliyun.openservices.ons.api.Message#getUserProperties("eventType")
4.3.3 接口列表
4.3.3.1 通用查询接口
4.3.3.1.1获取当前最新块号
请求路径:/search/blockNumber
请求方式:GET
请求参数
无
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | string | 是 | 错误码SUCCESS为成功 |
detail | biginteger | 否 | 成功时为最新块号 |
message | string | 否 | 错误描述 |
4.3.3.1.2根据bizId查询txHash
场景:上链请求接口调用失败时,需要调用此接口根据bizId查询txHash
请求路径:/search/txHash
请求方式:GET
Content-Type:application/json; charset=utf-8
请求参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位)业务方生成 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | string | 否 | 成功时为txHash |
message | string | 否 | 错误描述 |
4.3.3.1.3根据txHash和regionId查询交易回执
场景:收到交易事件EVENT_TX_RECORDED后,根据txHash和regionId查询交易详情。
请求路径:/common/getTransactionByHash
请求方式:POST
Content-Type:application/json; charset=utf-8
请求参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
txHash | string | 是 | 交易流水号(最长32位)业务方生成 |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 否 | 成功时返回 |
detail.transactionHash | string | 是 | 交易hash |
detail.blockNumber | biginteger | 是 | 该笔交易所在的块号 |
detail.regionId | string | 是 | 该笔交易所在的专区编号 |
detail.hash | string | 是 | 交易所在专区的页hash或者主账本的块hash |
detail.resultCode | int | 是 | 默认情况下为0时,交易成功,非0交易失败。 |
detail.errorMessage | string | 否 | LogError事件的错误描述 |
detail.resultMsg | string | 否 | 错误描述 |
detail.logs | object[] | 否 | 日志列表 |
detail.logs[*].address | string | 是 | 触发事件的合约地址 |
detail.logs[*].topics | string[] | 是 | 事件名称 |
detail.logs[*].topics[0] | string | 是 | 事件名称 |
detail.logs[*].data | object | 是 | 事件内容 |
detail.logs[*].data.dumpData | object | 否 | 事件关联的合约地址中实际存储的内容 |
message | string | 否 | 错误描述 |
接口返回举例:
注:以下内容仅为格式定义,不代表真实数据,往下面翻有交易举例
{
"code": "SUCCESS",
"detail": {
"transactionHash": "0xc18459fff78e33e2bdfbec581b1e55247bb05ff7c565f78983a155d65faf0dbb",
"blockNumber": 15429451,
"regionId": "0x0000000000eab696000000005fd0bc0b00000000",
"hash": "0x9f6f42999cdeb89d88ddcfb0c737d7b7fc82fb7da86a8d0507d06758e4592a03",
"contractAddress": null,
"errorMessage": null,
"resultCode": 0,
"resultMsg": "运行成功",
"logs": [
{
"address": "0xb239b199972e08367dcd2c1c383f07d701b22e74",
"data": {
"amount": 100000,
"tokenSymbol": "464b464b00000000000000000000000000000000000000000000000000000000",
"data": "323233",
"partitionId": "464b464b30303030310000000000000000000000000000000000000000000000",
"holder": "97fdea898d471a368df2ec6a4de4f0305371a871",
"extraParams": "31",
"issuer": "97fdea898d471a368df2ec6a4de4f0305371a871"
},
"topics": [
"IssueToken"
]
}
]
}
}j
4.3.3.2合约上链接口
4.3.3.2.1创建普通用户身份
场景:创建一个普通用户身份
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | createUser |
hsmUserId | string | 是 | 安全插件用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.symbol | string | 是 | 身份唯一标识(最长30位) |
params.primaryKey | string | 是 | 主公钥地址 |
params.additionalInfo | string | 是 | 附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.2更改主公钥地址
场景:更改身份的主公钥地址
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | changePrimaryKey |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.identity | string | 是 | 身份的Identity合约 |
params.newPrimaryKey | string | 是 | 新的主公钥地址 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.3增加备选公钥地址
场景:为指定的身份增加一组备选公钥地址
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | addAlternativeKeys |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.identity | string | 是 | 身份的Identity合约 |
params.alternativeKeys | string[] | 是 | 备选公钥地址 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.4移除备选公钥地址
场景:移除指定身份的一组备选公钥地址
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | removeAlternativeKeys |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.identity | string | 是 | 身份的Identity合约 |
params.alternativeKeys | string[] | 是 | 备选公钥地址 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.5创建角色
场景:创建一个角色
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
string | 是 | 专区编号,部署时提供,可做业务系统配置项 | |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | createRole |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.roleId | string | 是 | 角色ID(最长8位) |
params.permissions | string | 是 | 权限集合 |
params.description | string | 是 | 描述信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.6更新角色权限
场景:更新指定的角色的权限集合
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
string | 是 | 专区编号,部署时提供,可做业务系统配置项 | |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | updateRolePermissions |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.roleId | string | 是 | 角色ID(最长8位) |
params.permissions | string | 是 | 权限集合 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.7更新角色描述
场景:更新指定的角色描述信息
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | updateRoleDescription |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.roleId | string | 是 | 角色ID(最长8位) |
params.description | string | 是 | 描述信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.8创建账户
场景:创建一个账户及其对应的身份
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | createAccount |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.identitySymbol | string | 是 | 身份唯一标识(最长20位) |
params.primaryKey | string | 是 | 主公钥地址 |
params.identityInfo | string | 是 | 身份附加信息 |
params.roles | string[] | 是 | 关联的角色列表 |
params.subjectName | string | 是 | 账户主体名称(限英文、数字、中文和符号,最长60位) |
params.subjectCode | string | 是 | 账户主体代码(限英文、数字,定长18位) |
params.accountInfo | string | 是 | 账户附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.9登记账户
场景:将指定的身份登记为指定凭证的账户
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | enrollAccount |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.identity | string | 是 | 身份的Identity合约 |
params.roles | string[] | 是 | 关联的角色列表 |
params.subjectName | string | 是 | 账户主体名称(限英文、数字、中文和符号,最长60位) |
params.subjectCode | string | 是 | 账户主体代码(限英文、数字,定长18位) |
params.accountInfo | string | 是 | 账户附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.10增加账户角色
场景:为指定的账户增加一组角色
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | addAccountRoles |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.identity | string | 是 | 身份的Identity合约 |
params.roles | string[] | 是 | 关联的角色列表 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.11移除账户角色
场景:移除指定账户的一组角色
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | removeAccountRoles |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.identity | string | 是 | 身份的Identity合约 |
params.roles | string[] | 是 | 角色列表 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.12更新账户附加信息
场景:更新指定账户的附加信息
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | updateAccountAdditionalInfo |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.identity | string | 是 | 身份的Identity合约 |
params.newAdditionalInfo | string | 是 | 新的附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.13发行凭证
场景:发行(默认分片的)凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | issueToken |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.holder | string | 是 | 持有者的Identity合约 |
params.amount | string | 是 | 发行数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.14发行指定分片的凭证
场景:发行指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | issueTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID(限英文、数字、符号,最长20位) |
params.holder | string | 是 | 持有者的Identity合约 |
params.amount | string | 是 | 发行数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.15发行指定分片的凭证并更新分片信息
场景:发行指定分片的凭证,同时更新分片信息
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | issueTokenWithPartitionInfo |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID(限英文、数字、符号,最长20位) |
params.holder | string | 是 | 持有者的Identity合约 |
params.amount | string | 是 | 发行数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
params.partitionInfo | string | 是 | 分片附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.16更新分片信息
场景:更新指定分片的附加信息
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | updatePartitionAdditionalInfo |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID(限英文、数字、符号,最长20位) |
params.partitionInfo | string | 是 | 分片附加信息 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.17转移凭证
场景:转移(默认分片的)凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | transferToken |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.to | string | 是 | 转入方的Identity合约 |
params.amount | string | 是 | 转移数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.18转移指定分片的凭证
场景:转移指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | transferTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.to | string | 是 | 转入方的Identity合约 |
params.amount | string | 是 | 转移数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.19转移多个分片的凭证
场景:转移多个分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | transferTokenByMultiplePartitions |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionIds | string[] | 是 | 分片ID列表 |
params.to | string[] | 是 | 转入方的Identity合约列表 |
params.amount | string[] | 是 | 转移数量列表 |
params.extraParams | string[] | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.20代理转移凭证
场景:适用于代理人转移持有者的凭证,以及管理者强制转移持有者的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | operatorTransferToken |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.from | string | 是 | 转出方的Identity合约 |
params.to | string | 是 | 转入方的Identity合约 |
params.amount | string | 是 | 转移数量列表 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
params.operatorData | string | 是 | 操作者(发起者)的附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.21代理转移指定分片的凭证
场景:适用于代理人转移持有者的凭证,以及管理者强制转移持有者的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | operatorTransferTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.from | string | 是 | 转出方的Identity合约 |
params.to | string | 是 | 转入方的Identity合约 |
params.amount | string | 是 | 转移数量列表 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
params.operatorData | string | 是 | 操作者(发起者)的附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.22冻结凭证
场景:冻结指定账户的指定分片的凭证,并产生一条冻结记录
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | freezeTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.holder | string | 是 | 持有者的Identity合约 |
params.recordId | string | 是 | 冻结记录ID |
params.amount | string | 是 | 冻结数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.23解冻凭证
场景:根据冻结记录,解冻指定账户的指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | unfreezeTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.holder | string | 是 | 持有者的Identity合约 |
params.recordId | string | 是 | 冻结记录ID |
params.amount | string | 是 | 解冻数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.24核销凭证
场景:核销(默认分片的)凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | writeOffToken |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.amount | string | 是 | 核销数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.25核销指定分片的凭证
场景:核销指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | writeOffTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.amount | string | 是 | 核销数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.26代理核销凭证
场景:核销其他账户的(默认分片的)凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | operatorWriteOffToken |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.holder | string | 是 | 持有者的Identity合约 |
params.amount | string | 是 | 核销数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
params.operatorData | string | 是 | 操作者(发起者)的附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.27代理核销指定分片的凭证
场景:核销其他账户的指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | operatorWriteOffTokenByPartition |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.partitionId | string | 是 | 分片ID |
params.holder | string | 是 | 持有者的Identity合约 |
params.amount | string | 是 | 核销数量 |
params.extraParams | string | 是 | ABI编码的附加参数 |
params.data | string | 是 | 附加数据 |
params.operatorData | string | 是 | 操作者(发起者)的附加数据 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.28变更代理授权
场景:变更其他账户代理授权的范围。当授权范围变更为“无”时,分片列表会被清空
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | changeAgentAuthorization |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.agent | string | 是 | 代理人的Identity合约 |
params.scope | string | 是 | 代理范围。可选值为0(无)、1(全部)、2(指定分片) |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.29授权代理指定分片
场景:授权其他账户代理指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | authorizeAgentByPartitions |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.agent | string | 是 | 代理人的Identity合约 |
params.partitions | string[] | 是 | 分片列表。仅当代理范围为指定分片时有效 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.2.30取消授权代理指定分片
场景:取消授权其他账户代理指定分片的凭证
请求路径:/tx/buildAndSend
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
bizId | string | 是 | 交易流水号(最长32位) |
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 合约代理地址,部署时提供,可做业务系统配置项 |
method | string | 是 | revokeAgentByPartitions |
hsmUserId | string | 是 | 加密机用户ID,络谱加密机的一个公私钥对索引ID |
params | object | 是 | 合约参数 |
params.sender | string | 是 | 发起者的Identity合约 |
params.tokenSymbol | string | 是 | 凭证项目标识 |
params.agent | string | 是 | 代理人的Identity合约 |
params.partitions | string[] | 是 | 分片列表。仅当代理范围为指定分片时有效 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.txHash | string | 是 | 交易hash |
detail.blockLimit | string | 是 | 超时块号 |
message | string | 否 | 错误描述 |
4.3.3.3合约查询接口
4.3.3.3.1获取分片信息
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的凭证合约地址 |
method | string | 是 | getPartition |
params | object | 是 | 合约参数 |
params.id | string | 是 | 分片ID |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.issuer | string | 是 | 分片的发行方 |
detail.issueTime | string | 是 | 分片的发行时间 |
detail.totalSupply | string | 是 | 该分片的凭证总量 |
detail.writtenOffAmount | string | 是 | 该分片已核销的凭证总量 |
detail.additionalInfo | string | 是 | 该分片的附加信息 |
detail.cutOffTime | string | 是 | 分片的过期时间 |
message | string | 否 | 错误描述 |
4.3.3.3.2获取分片列表
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的token合约地址 |
method | string | 是 | getPartitionsOf |
params | object | 是 | 合约参数 |
params.account | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.partitionIds | string[] | 是 | 分片ID列表 |
message | string | 否 | 错误描述 |
4.3.3.3.3获取余额信息
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的token合约地址 |
method | string | 是 | getBalance |
params | object | 是 | 合约参数 |
params.partitionId | string | 是 | 分片ID |
params.account | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.balance | string | 是 | 余额 |
message | string | 否 | 错误描述 |
4.3.3.3.4获取冻结数量
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的token合约地址 |
method | string | 是 | getFrozenAmount |
params | object | 是 | 合约参数 |
params.partitionId | string | 是 | 分片ID |
params.account | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.amount | string | 是 | 已冻结总量 |
message | string | 否 | 错误描述 |
4.3.3.3.5获取冻结记录
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的token合约地址 |
method | string | 是 | getFreezeRecords |
params | object | 是 | 合约参数 |
params.partitionId | string | 是 | 分片ID |
params.account | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.freezeRecords | object[] | 是 | 已冻结总量 |
detail.freezeRecords[i].recordId | string | 否 | 冻结记录编号 |
detail.freezeRecords[i].amount | number | 否 | 冻结数量 |
message | string | 否 | 错误描述 |
4.3.3.3.6获取角色信息
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的AccountRegistry合约地址 |
method | string | 是 | getRole |
params | object | 是 | 合约参数 |
params.id | string | 是 | 角色ID |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.description | string | 是 | 描述信息 |
detail.permissions | string | 是 | 权限集合 |
message | string | 否 | 错误描述 |
4.3.3.3.7获取账户信息
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的AccountRegistry合约地址 |
method | string | 是 | getAccount |
params | object | 是 | 合约参数 |
params.identity | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.status | string | 是 | 状态 |
detail.roles[] | string | 是 | 角色集合 |
detail.subjectName | string | 是 | 账户主体名称 |
detail.subjectCode | string | 是 | 账户主体代码 |
detail.additionalInfo | string | 是 | 附加信息 |
message | string | 否 | 错误描述 |
4.3.3.3.8获取代理列表
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的AgentRegistry合约地址 |
method | string | 是 | getAgents |
params | object | 是 | 合约参数 |
params.account | string | 是 | 账户的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.agents | object[] | 是 | 代理列表 |
detail.agents[i].agent | string | 否 | 代理方的Identity合约 |
detail.agents[i].scope | number | 否 | 代理范围 |
message | string | 否 | 错误描述 |
4.3.3.3.9获取代理信息
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的AgentRegistry合约地址 |
method | string | 是 | getAgentAuthorization |
params | object | 是 | 合约参数 |
params.account | string | 是 | 账户的Identity合约 |
params.agent | string | 是 | 代理方的Identity合约 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.scope | string | 是 | 代理范围 |
detail.partitionIds | string[] | 否 | 分片ID 列表 |
message | string | 否 | 错误描述 |
4.3.3.3.10获取凭证项目标识列表
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的TokenProjectRegistry合约地址 |
method | string | 是 | getSymbols |
params | object | 是 | 合约参数 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.symbols | string[] | 否 | 凭证项目标识列表 |
message | string | 否 | 错误描述 |
4.3.3.3.11获取凭证项目合约
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的TokenProjectRegistry合约地址 |
method | string | 是 | projects |
params | object | 是 | 合约参数 |
params.symbol | string | 是 | 凭证项目的标识 |
返回参数
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
code | integer | 是 | 错误码SUCCESS为成功 |
detail | object | 是 | |
detail.tokenProject | string | 否 | 凭证项目的TokenProject合约 |
message | string | 否 | 错误描述 |
4.3.4合约查询接口注意事项
4.3.4.1获取凭证项目的AccountRegistry合约地址
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的TokenProject合约地址 |
method | string | 是 | accountRegistry |
params | object | 是 | 合约参数 |
返回参数为AccountRegistry合约地址
{
"code": "SUCCESS",
"detail": {
"0": "779a038a38c5c398ae528dfe6dd9b7049c003c70"
}
}
4.3.4.2获取凭证项目的AgentRegistry合约地址
请求路径:/search/contract
请求方式:POST
Content-Type:application/json; charset=utf-8
参数名称 | 参数类型 | 是否必填 | 参数说明 |
---|---|---|---|
regionId | string | 是 | 专区编号,部署时提供,可做业务系统配置项 |
contractAddress | string | 是 | 凭证项目的凭证项目合约地址 |
method | string | 是 | agentRegistry |
params | object | 是 | 合约参数 |
返回参数为AgentRegistry合约地址
{
"code": "SUCCESS",
"detail": {
"0": "02a600c1b1d7c632217d47fb7b37c51f3bb8dc97"
}
}
4.3.5凭证默认角色
凭证合约在部署时会创建以下默认角色。
角色ID | 角色描述 |
---|---|
ADMIN | 管理员,拥有所有合约的所有权限 |
ISSUER | 发行方,拥有发行,持有,交易,核销的权限 |
HOLDER | 持有方,拥有持有,交易,核销的权限 |
4.3.6签名错误
上链接口返回
{
"code":"PARAM_INVALID_ERROR",
"message":"The account does not have permission to send the transaction",
"detail":null
}
此种情况一般是签名的公钥地址未在链上注册,例如未使用此公钥地址创建身份合约地址,或未将改公钥地址加入到某个身份合约地址中。也有可能是签名是的原文和发到链上的原文不一致导致的。