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

          超级链BaaS平台

          调用合约方法接口

          调用合约方法接口

          接口描述

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

          权限说明

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

          注意事项

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

          服务域名 以太坊合约网关接口服务域名地址<ContractGateWayHost>详见BBE中所创建的以太坊网络详情。查看以太坊网络

          请求结构

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

          请求头域

          头域 说明 是否必须
          Content-Type 值为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参数 交易成功回调地址 非必须
          privateKey String RequestBody参数 合约调用者地址私钥 选填,call类型可为空,transaction类型必填
          invokeParameters JsonObject RequestBody参数 合约方法参数 选填,根据合约方法所需参数填写
          optConfigs OptConfigs RequestBody参数 合约通用参数,可选包括gasLimit、gasPrice、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、gasLimit和gasPrice。
          • callbackUrl回调参数为transaction类型交易上链成功后,合约网关会将上链信息以POST请求形式推送给回调地址,推送信息详见交易结果查询接口
           POST /v2/ethereum/tx/0x134bfd7a3d43ca3b4599718045156ada22ec8591/setValue?clientToken=8dbe1955-c616-4d60-97e8-e48bd2063906 HTTP/1.1
            Host: 106.12.189.XXX:8080
            Content-Type: application/json
            
            {
                  "from":"0x7244Ea287849942bAAC280B1912A575aEeCCc792",
                  "privateKey": "3BAB234C5FC756C317BB1CF12F3F5C*****114B0F2B2033BDBA41AA22F6734E4",
                  "jsonrpcUrl":"",
                  "callbackUrl":"",
                  "invokeParameters":{
                          "i": 111,
                          "s": "baidu"
                   },
                  "optConfigs": {
                      "ethValue": 0,
                      "gasLimit": 0,
                      "gasPrice": 0,
                      "nonce": 0
                  }
          }

          Transaction类型请求响应示例

          HTTP/1.1 200 OK     
           Date: Thu, 19 Sep 2019 07:07:08 GMT
           Content Type: application/json; charset=utf-8
           Content-Length: 153   
          
           {
            "requestId": "47026c75-008f-4fe5-be1f-807f8244df6f",
            "result": {
              "txId": "0x208140b148622f260f354c38d9424722949cb1b31f542cd33125630dfa6c9809"
            }
          }   

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

          Call类型请求示例

           POST /v2/ethereum/tx/0x134bfd7a3d43ca3b4599718045156ada22ec8591/getValue HTTP/1.1
            Host: 106.12.189.XXX:8080
            Content-Type: application/json
            
            {
                  "from":"0x7244Ea287849942bAAC280B1912A575aEeCCc792",
                  "jsonrpcUrl":"",
                  "invokeParameters":{}
           }

          Call类型请求响应示例

          HTTP/1.1 200 OK     
           Date: Thu, 19 Sep 2019 07:16:36 GMT
           Content Type: application/json; charset=utf-8
           Content-Length: 105  
          
           {
            "requestId": "a8739881-8eb0-411c-bbbb-5bd5cf0eba65",
            "result": {
              "i": 111,
              "s": "bbe"
            }
          }   
          上一篇
          交易结果查询接口
          下一篇
          Event日志检索接口