5.4.5.6 公钥上传模式下调用智能合约接口
链下业务系统在连接节点网关时,需要按照接口说明在请求中加入相应的请求参数,调用节点网关以后,节点网关会返回智能合约的执行结果。在上传公钥模式的交易中,链上交易的私钥由用户自己生成和保存,然后由客户端在本地进行上链数据的组装和签名,将签名后的数据上传至节点网关,网关将数据转发至相应的区块链节点发起交易请求。在网关的SDK中已经实现了该上链数据的组装方法,直接调用即可。
1. 接口地址:https://节点网关地址/api/xuperchain/v1/node/trans
注:用户参与服务成功后可以在服务详情页面查看并下载应用链下业务系统开发所需要的应用服务配置参数、节点网关地址和应用接入密钥对,如下图:
2. 通讯方式: POST
3. 签名算法:详见5.4.5.1应用接入签名算法
4. 请求参数
序号 | 字段名 | 字段 | 类型 | 必填 | 备注 |
---|---|---|---|---|---|
1 | 信息头 | header | Map | 是 | |
2 | 信息体 | body | Map | 是 | |
3 | 签名值 | mac | String | 是 | |
header | |||||
1 | 用户唯一标识 | userCode | String | 是 | |
2 | 应用唯一标识 | appCode | String | 是 | |
body | |||||
1 | 合约名称 | initiator | String | 是 | |
2 | 交易发起者 | transData | String | 是 | 可以是一个Address或者一个Account |
3 | 执行标识 | flag | String | 是 | 0:预执行 1:执行 |
示例
{
"header":{
"userCode":"gaowanqiu",
"appCode":"app0001202011051518441706313",
"tId":""
},
"mac":"MEQCIBqaMQhvC9obKF+GK++np5WSePVP9ZZ2rhOwm7IPf6R+AiBIrE4m2cizhmkK+YL6dFTrfcVi19jRF5G+eIur8fLxYw==",
"body":{
"initiator":"rJHdYSyCWcnhZ9bjhfbhoN5mfhMVCWGhX",
"transData":"CgR3YXNtEgtjY19hcHB4Y18wMRoLaW5zZXJ0X2RhdGEiDwoIYmFzZV9rZXkSA2RldiIXCgpiYXNlX3ZhbHVlEgnnnJ/ng6bkuro=",
"flag":0
}
}
5. 响应参数
序号 | 字段名 | 字段 | 类型 | 必填 | 备注 |
---|---|---|---|---|---|
1 | 信息头 | header | Map | 是 | |
2 | 信息体 | body | Map | 是 | |
3 | 签名值 | mac | String | 是 | |
header: | |||||
1 | 响应标识 | code | int | 是 | 0:校验成功 -1:校验失败 |
2 | 响应信息 | msg | String | 否 | code=0时可为null |
body: | |||||
1 | 交易Id | txId | String | 否 | |
2 | 查询信息 | queryInfo | String | 否 | |
3 | 响应结果 | preExecRes | String | 否 |
示例
{
"header":{
"code":0,
"msg":"success"
},
"mac":"MEUCIQCul/2iH1KVwoWBfGJd5WfoZXSlD0MIlRX00l5dt9hQogIgd6f1v42bOhHzI5mY8Iagd4R+HoySzCwtMSU6vwCkic0=",
"body":{
"txId":"",
"queryInfo":"",
"preExecRes":"ChIKC2NjX2FwcHhjXzAxEgNkZXYKQAoIY29udHJhY3QSEGNjX2FwcHhjXzAxLmRlc2MaIK7km22DxyZrs1WvbFTW8FbtjJi94HvjF0YTLRjvqDQzIAMSHQoLY2NfYXBweGNfMDESA2RldhoJ55yf54Om5Lq6Gg5pbnNlcnQgc3VjY2VzcypiCgR3YXNtEgtjY19hcHB4Y18wMRoLaW5zZXJ0X2RhdGEiDwoIYmFzZV9rZXkSA2RldiIXCgpiYXNlX3ZhbHVlEgnnnJ/ng6bkuroqBBD2+AMqBggBEICAQCoECAIQDCoCCAMyEwjIARoOaW5zZXJ0IHN1Y2Nlc3M="
}
}