【线上公开课】百度超级链XuperChainV3.7系列功能详解一事件订阅功能

【主讲嘉宾】:王玉操 百度超级链资深研发工程师

【课程简介】:超级链事件机制简介,支持的事件监听类型以及事件监听使用方法

本期课程将深度解析百度超级链XuperChainV3.7事件订阅功能。作为交易发起者,发起上链交易,想知道交易确认状态?作为账户持有者,想知道该账户相关的最新交易?作为链上数据监管者,想及时获得最新的链上数据?那么到底如何获取链上最新数据?关于获取链上数据,如果业务端要关注addr3的所有交易为例,那么需要遍历块中的每个交易,并查询交易内容,将其中涉及到addr3的交易单独过滤出来。

传统模式有2个缺点:一是有轮询逻辑客户端需要维护定时任务,实现复杂且资源占用高。二是开发者需要先拿整个块再寻找需要的数据,开发和通信成本都很高。而采取事件订阅机制,无需额外实现数据查询逻辑,只关心事件推送的处理,简化开发流程,并且接收的事件内容就是实际关心的数据,无冗余数据处理和通信的开销。

事件订阅功能支持三种事件类型。支持区块事件,可以顺序订阅最新的出块内容,支持从指定高度开始获取;交易事件,按照交易发起者订阅交易,支持订阅签名参与者的相关交易;账户事件,订阅发生账户余额变更的交易,支持按转账者、接收者订阅。

分享结束前讲师对当前的事件订阅机制做了一点补充,为了防止区块链节点订阅连接太多导致的性能问题,可以设置客户端最大连接数,为了防止被单个客户端IP占满所有连接,可以设置单个客户端IP的连接数上限。

讲师又谈到了关于事件订阅机制的未来计划,丰富事件类型,支持合约事件,可以监听合约触发的用户自定义事件类型,支持事件持久化,可以从某个事件id起,监听所有后续事件,防止连接断开丢失消息。