5.4.4.6 公钥上传模式下调用智能合约接口

  链下业务系统在连接节点网关时,需要按照接口说明在请求中加入相应的请求参数,调用节点网关以后,节点网关会返回智能合约的执行结果。在秘钥上传模式的交易中,链上交易的私钥由用户自己生成和保存,然后由客户端在本地进行上链数据的组装和签名,将签名后的数据上传至节点网关,网关将数据转发至相应的区块链节点发起交易请求。在该模式中组装数据时需要用到合约的ABI以及合约地址等信息,其中合约ABI在开发合约时编译合约得到,合约地址可以在应用的详情页面获取。在网关的SDK中已经实现了该上链数据的组装方法,直接调用即可。

  1. 接口地址:https://节点网关地址/api/fiscobcos/v1/node/trans

  注:用户参与服务成功后可以在服务详情页面查看并下载应用链下业务系统开发所需要的应用服务配置参数、节点网关地址和应用接入密钥对,如下图: 密钥上传模式下调用智能合约接口

  2. 通讯方式: POST

  3. 签名算法:详见5.4.4.1 应用接入签名算法

  4. 请求参数

序号 字段名 字段 类型 必填 备注
1 信息头 header Map
2 信息体 body Map
3 签名值 mac String
header:
1 用户唯一标识 userCode String
2 应用唯一标识 appCode String
Body:
1 合约名称 contractName String
2 交易数据 transData String
3 合约地址 contractAddress String 当用户权限为不校验权限且调用的合约方法为constant时将会调用该地址的合约,并且使用contractAbi字段的合约ABI解析交易数据
4 合约ABI contractAbi String 当用户权限为不校验权限且调用的合约方法为constant时将会调用该地址的合约,并且使用contractAbi字段的合约ABI解析交易数据

  示例

```
{"header":{"userCode":"USER0001202006042321579692440","appCode":"app0001202006042323057101002","tId":""},"mac":"MEUCIQCrjIeRVSt1uwFFGkr37bVM8pF0JgAWb40mKEBc5HbpjgIgEzXRIgG+Q7obwuD2MY4EHo9sIsI1W71M+aQKOfAN3wU=","body":{"contractName":"BsnBaseContractk1","transData":"0xf9016fa008d8ebcb4b1f8205fd7883aa3ce9b9c844424070e55a3af6a5da5d7ee97d287385051f4d5c0083419ce07794866aefc204b8f8fdc3e45b908fd43d76667d7f7680b8e4ebf3b24f0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000005733036303400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026161000000000000000000000000000000000000000000000000000000000000018187801ba0324efc9e17f1d31d95535c5103083560560f836931945d03fb69acb6fd2046b5a05fa6f574f83b3b753c9fe40649a08c2a497af1cd804e08fed2b153af20267f23", "contractAddress":"0xe2d0d414d436d8be9d52e2f40e6dd24a63faa638","contractAbi":"合约ABI"}}
```

  5. 响应参数

序号 字段名 字段 类型 必填 备注
1 信息头 header Map
2 信息体 body Map
3 签名值 mac String
header:
1 响应标识 code int 0:校验成功
-1:校验失败
2 响应信息 msg String code=0 时可为 null
body:
1 调用类型 constant Bool
2 查询信息 queryInfo String constant 为 true 时,该字段有值
3 交易hash txId String constant 为 false 时,该字段有值并且有效
4 块哈希 blockHash String constant 为 false 时,该字段有值并且有效
5 块号 blockNumber Int constant 为 false 时,该字段有值并且有效
6 Gas使用值 gasUsed Int constant 为 false 时,该字段有值并且有效
7 交易状态 status String constant 为 false 时,该字段有值并且有效,0x0 表示交易成功,状态值参考交易回执状态
8 发送者的地址 from String constant 为 false 时,该字段有值并且有效
9 接收者的地址 to String constant 为 false 时,该字段有值并且有效
10 输入 input String constant 为 false 时,该字段有值并且有效
11 输出 output String constant 为 false 时,该字段有值并且有效
Copyright 北京红枣科技有限公司

results matching ""

    No results matching ""

    results matching ""

      No results matching ""