调用合约方法接口
所有文档

          超级链BaaS平台

          调用合约方法接口

          调用合约方法接口

          接口描述

          调用Quorum智能合约方法,包括call和transaction类型方法。

          权限说明

          API权限认证采用Basic Auth方式,请求发起人需要具有合法的Username和Password才能发起请求,其中Username和Password详见所创建的以太坊网络。查看Quorum联盟

          注意事项

          如果请求中没有用户认证信息(即匿名访问),返回401 Unauthorized,错误信息:401 Authorization Required

          服务域名

          Quorum合约网关接口服务域名地址<ContractGateWayHost>详见BBE中所创建或加入的Quorum联盟详情。查看Quorum联盟

          请求结构

          POST /v2/quorum/tx/{contract}/{funcName}?clientToken={clientToken} HTTP/1.1
          Host: <ContractGateWayHost>
          Content-Type: application/json

          请求头域

          头域 类型 说明 是否必须
          Content-Type String 值为application/json 必须

          请求参数

          名称 类型 位置 描述 是否必须
          contract String URL参数 合约地址 必须
          funcName String URL参数 合约方法名称 必须
          clientToken String Query参数 幂等性Token,是一个长度不超过64位的ASCII字符串 非必须
          from String RequestBody参数 合约调用者地址 必须
          jsonrpcUrl String RequestBody参数 节点JSON-RPC地址 选填,私有交易必填,公开交易可为空
          callbackUrl String RequestBody参数 transaction类型交易,上链成功后回调地址 选填
          privateKey String RequestBody参数 合约调用者地址私钥 选填,transaction类型必填,call类型可为空
          privateFor Array RequestBody参数 私有合约相关节点公钥 必须,公开合约值为空
          invokeParameters JsonObject RequestBody参数 合约方法参数 选填,根据合约方法所需参数填写
          optConfigs OptConfigs RequestBody参数 合约通用参数,可选包括gasLimit、nonce、ethValue 选填

          使用限制

          • 支持合约方法输入参数: intX/uintX, string, address, array, slice, bytes, bytes32
          • 支持合约方法输出参数: intX/uintX, string, address, slice, bytes, bytes32

          响应头域

          除公共头域外,无其它特殊头域。

          响应参数

          名称 类型 描述
          requestId String 用户请求Id
          result JsonObject 合约方法的返回数据
          txId String transaction类型请求时返回的交易Hash

          Transaction类型交易请求示例

          说明:

          • optConfigs中的参数为选填,如不指定或值为0,合约网关将根据合约方法计算nonce、gas。
          • callbackUrl回调参数为transaction类型交易上链成功后,合约网关会将上链信息以POST请求形式推送给回调地址,推送信息详见交易结果查询接口
            POST /v2/quorum/tx/0x5c695f5b6c14d4d59b1b2f65a7fb66f02fe15469/setValue?clientToken=562dcec4-61c7-4bd5-932e-673861022f8b HTTP/1.1
            Host: 106.12.189.XXX:8080
            Content-Type: application/json
            
            {
                  "from":"0x04c512DEA0943e27D036EA5550987d0fF8b48a60",
                  "privateKey": "3BAB234C5FC756C317BB1CF12F3F5C*****114B0F2B2033BDBA41AA22F6734E4",
                  "jsonrpcUrl":"http://106.12.189.XXX:8081/quorum-jsonrpc/ba9f7aad-2f49-4aab-8bd2-12d7ab009937/6d398463",
                  "callbackUrl":"http://xxx",
                  "privateFor":["DMAxFR47Q8oIi4Qdb+IM6iepOkxFqz5XMNsZgiFhbEY=","pRpHnO/G+9tRlCfiy/OuSXuNRWy9J+d22f7l05W6LHQ="],
                  "invokeParameters":{
                          "i":111,
                          "s":"baidu"
                  },
                  "optConfigs":{
                      "ethValue": 0,
                      "gasLimit": 0,
                      "nonce": 0
                  }
             }

          Call类型交易请求示例

            POST /v2/quorum/tx/0x5c695f5b6c14d4d59b1b2f65a7fb66f02fe15469/getValue HTTP/1.1
            Host: 106.12.189.XXX:8080
            Content-Type: application/json
            
            {
                  "from":"0x04c512DEA0943e27D036EA5550987d0fF8b48a60",
                  "jsonrpcUrl":"http://106.12.189.XXX:8081/quorum-jsonrpc/ee7aa8d8-ac62-4824-9e2d-585c5ac54b17/249f2b8a",
                  "privateFor":["DMAxFR47Q8oIi4Qdb+IM6iepOkxFqz5XMNsZgiFhbEY=","pRpHnO/G+9tRlCfiy/OuSXuNRWy9J+d22f7l05W6LHQ="],
                  "invokeParameters":{}
          }

          Transaction类型请求响应示例

           HTTP/1.1 200 OK     
           Date: Thu, 19 Sep 2019 09:22:16 GMT
           Content Type: application/json; charset=utf-8
           Content-Length: 157   
          
          {
            "requestId": "7b4faa25-d74f-49aa-9299-8de6981dec59",
            "result": {
              "txId": "0x9efd1bae01055189f067d7f0a0095f9626672894f5132bc4573abb3728dde026"
            }
          }

          说明:根据txId获取交易上链结果详见:交易结果查询接口

          Call类型请求响应示例

           HTTP/1.1 200 OK     
           Date: Thu, 19 Sep 2019 09:46:00 GMT
           Content Type: application/json; charset=utf-8
           Content-Length: 107
          
           {
            "requestId": "91c0ed8b-69c8-42c2-8daf-6f8c23e29000",
            "result": {
              "i": 111,
              "s": "baidu"
            }
          }   
          上一篇
          接口说明
          下一篇
          交易结果查询接口