5.4.3.7 上传公钥模式下调用链码接口
当上传公钥模式应用的用户需要从链下系统向链上链码发起交易时,需要在本地组装交易报文,并调用该接口发起交易。
1. 接口地址:https://节点网关地址/api/fabric/v1/node/trans
2. 通讯方式:POST
3. 签名算法:详见5.4.3.1应用接入签名算法
4. 请求参数
序号 | 字段名 | 字段 | 类型 | 必填 | 备注 |
---|---|---|---|---|---|
1 | 信息头 | header | Map | 是 | |
2 | 信息体 | body | Map | 否 | |
3 | 签名值 | mac | String | 是 | |
header: | |||||
1 | 用户唯一标示 | userCode | String | 是 | |
2 | 应用唯一标识 | appCode | String | 是 | |
body: | |||||
1 | 交易数据 | transData | String | 是 | 使用base64转码之后的交易数据 |
示例:
{
"header":{
"userCode":"USER0001202004151958010871292",
"appCode":"app0001202004161020152918451",
"tId":""
},
"mac":"MEUCIQCv8EZ2OqbSbI9xGGKX06Mquh+g+NhhbUoAJBbnemXdagIgNMF7W7ecu5uej9BpVx04qwJuVijbgcp3VYIcjDK0Z38=",
"body":{
"transData":"Cq0KCrsJCpcBCAMaCwi9gPr0BRD0o+Z2IhxhcHAwMDAxMjAyMDA0MTYxMDIwMTUyOTE4NDUxKkBjM2M2NTIzOTU4YzM4MTExOTJiOGQzNThkZDI2MTdmMWIxNGNiNjYxZGU2YjAyMmMxYTgyMjI2OWU4YThjNDhkOiYSJBIiY2NfYXBwMDAwMTIwMjAwNDE2MTAyMDE1MjkxODQ1MV8wMBKeCAqBCAoLT3JnYk5vZGVNU1AS8QctLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ3ZUQ0NBbVNnQXdJQkFnSVVWanBGZTJFaERFaHJlOHBBVTh4bkd3dXhPbU13Q2dZSUtvWkl6ajBFQXdJdwpUakVMTUFrR0ExVUVCaE1DUTA0eEVEQU9CZ05WQkFnVEIwSmxhV3BwYm1jeEREQUtCZ05WQkFvVEEwSlRUakVQCk1BMEdBMVVFQ3hNR1kyeHBaVzUwTVE0d0RBWURWUVFERXdWaWMyNWpZVEFnRncweU1EQTBNVGt3TkRNek1EQmEKR0E4eU1UQXdNRE15TVRFeE1EUXdNRm93YkRFOE1BMEdBMVVFQ3hNR1kyeHBaVzUwTUE4R0ExVUVDeE1JYjNKbgpZbTV2WkdVd0RnWURWUVFMRXdkaWMyNWlZWE5sTUFvR0ExVUVDeE1EWTI5dE1Td3dLZ1lEVlFRRERDTjBaWE4wCk1ESkFZWEJ3TURBd01USXdNakF3TkRFMk1UQXlNREUxTWpreE9EUTFNVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUcKU000OUF3RUhBMElBQk5YZmFMVW1wMXlJSFVMMXVKeEdwMDFQNHE5Zk81V2xFMFZtallYQmVMejBhYlhqSU96NwpYb29KcGRUS1ZkUUJaZzYrZkVPWmhudm1vbURXWjRpdTRhYWpnZjh3Z2Z3d0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkZZRDg5emtkVllRbzZpUEh3d2RJejNaQ1lSck1COEcKQTFVZEl3UVlNQmFBRkFjSTRIK2tJczh2bjk0WllZcGtyZCs1bGRNS01JR2JCZ2dxQXdRRkJnY0lBUVNCam5zaQpZWFIwY25NaU9uc2lhR1l1UVdabWFXeHBZWFJwYjI0aU9pSnZjbWRpYm05a1pTNWljMjVpWVhObExtTnZiU0lzCkltaG1Ma1Z1Y205c2JHMWxiblJKUkNJNkluUmxjM1F3TWtCaGNIQXdNREF4TWpBeU1EQTBNVFl4TURJd01UVXkKT1RFNE5EVXhJaXdpYUdZdVZIbHdaU0k2SW1Oc2FXVnVkQ0lzSW5KdmJHVWlPaUpqYkdsbGJuUWlmWDB3Q2dZSQpLb1pJemowRUF3SURSd0F3UkFJZ1ZZNi9jZ1NDTmpENkxwTXVaZEQzVWYvWko5c3FSUVVTR3hSQU9SeGZONThDCklFN0JHTDljOHRCcHJiVmpYTldtQmpObWhqeUE3N0l3SW8rbUg1ZXp4R1B1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KEhiQKmgB1IbwbgLAyoHXUNnjZSGOqBDheQMSbQprCmkIARIkEiJjY19hcHAwMDAxMjAyMDA0MTYxMDIwMTUyOTE4NDUxXzAwGj8KA3NldAo4eyJiYXNlS2V5IjoidGVzdDIwMjAwNDA0IiwiYmFzZVZhbHVlIjoidGhpcyBpcyBzdHJpbmcgIn0SRjBEAiB+mOUKY7fRjcZ1/qc96YP9GGod3UK56jJaWaE4o3J90QIgeirrjyzL6zQLN89tv3jDpI7vxKChkGM9u8IEFiFEGYo="
}
}
5. 响应参数
序号 | 字段名 | 字段 | 类型 | 必填 | 备注 |
---|---|---|---|---|---|
1 | 信息头 | header | Map | 是 | |
2 | 信息体 | body | Map | 是 | |
3 | 签名值 | mac | String | 是 | |
header: | |||||
1 | 响应标识 | code | int | 是 | 0:校验成功 -1:校验失败 |
2 | 响应信息 | msg | String | 否 | code=0时可为null |
body: | |||||
1 | 块信息 | blockInfo | blockInfo | 否 | code不为0时为空 |
2 | 链码响应结果 | ccRes | ccRes | 否 | code不为0时为空 |
blockInfo: | |||||
1 | 交易Id | txId | string | 是 | |
2 | 块哈希 | blockHash | string | 否 | 同步接口返回块哈希 |
3 | 状态值 | status | int | 是 | [详见交易状态描述] |
ccRes: | |||||
1 | 链码响应状态 | ccCode | Int | 是 | 200:成功500:失败 |
2 | 链码响应结果 | ccData | Str | 否 | 具体链码响应的结果 |
示例:
{
"header": {
"code": 0,
"msg": "处理成功"
},
"mac": "MEQCICXNk40O+Gkqqe2XgoaxdOoIvDQe4RfLtwXkxjC7ce8TAiBLVu6PjOqWueVB3t4h7REpNdcVf6L0qVzfdA1yovuc7g==",
"body": {
"blockInfo": {
"txId": "c3c6523958c3811192b8d358dd2617f1b14cb661de6b022c1a822269e8a8c48d",
"blockHash": "",
"status": 0
},
"ccRes": {
"ccCode": 200,
"ccData": "SUCCESS"
}
}
}