百度区块链引擎BBE

    Event监听注册接口

    Event监听注册接口

    接口描述

    Event(事件)触发后形成日志记录在区块里,通过对Event的监听,可以掌握交易的上链确认情况。

    权限说明

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

    注意事项

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

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

    请求结构

    POST /v2/ethereum/event/{contract}/{eventName} HTTP/1.1
     Host: <ContractGateWayHost>
     Content-Type: application/json

    请求头域

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

    请求参数

    名称 类型 位置 描述 是否必须
    contract String URL参数 合约地址 必须
    eventName String URL参数 Event名称 必须
    subscribeUrl String RequestBody参数 接收事件消息地址 必须
    invokeParameters JsonObject RequestBody参数 根据指定合约事件topic过滤,如未指定,则默认返回全部 可选

    使用限制

    • 事件监听支持主题参数类型: intX/uintX, string, address, bytes, bytes32
    • 使用indexed修饰的事件主题输出不支持string和动态类型数组
    • 同一以太坊网络最多支持注册20个Event监听

    响应头域

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

    响应参数

    名称 类型 描述
    requestId String 用户请求Id
    result JsonObject 请求返回数据
    subscribeId String 事件监听ID

    请求示例

    说明:

    • 以太坊支持对indexed修饰的topic进行多条件过滤,即指定多个topic关键字则会按照多个关键字进行过滤。如本请求示例中使用address类型的from和int64类型的i进行事件日志过滤,只有触发的事件同时满足过滤条件时,事件数据才会被推送给用户的接收地址。
    • 监听事件触发后,推送事件内容详见:交易结果查询接口
     POST /v2/ethereum/event/0x134bfd7a3d43ca3b4599718045156ada22ec8591/ChangeEvent HTTP/1.1
      Host: 106.12.189.XXX:8080
      Content-Type: application/json
      
      {
    	"subscribeUrl":"http://XXX",
    	"invokeParameters":{
    		"i":[111,222]
    	}
    }

    请求响应示例

    HTTP/1.1 200 OK     
     Date: Thu, 19 Sep 2019 07:23:55 GMT
     Content Type: application/json; charset=utf-8
     Content-Length: 134
     {
      "requestId": "fbd08f7f-2ee7-46d1-b210-cb2ede56030e",
      "result": {
        "subscribeId": "fbd08f7f-2ee7-46d1-b210-cb2ede56030e"
      }
    }    
    上一篇
    Event监听注销接口
    下一篇
    Event监听查询接口