全部产品

事件接口

订阅账户

函数原型

  1. bool ListenAccount(const Identity& id, const EventCallBack& cb, EventModelType type = EventModelType::PULL)

请求参数

参数 必选 类型 说明
id true Identity 账户的业务 ID
cb true EventCallBack 当收到响应、超时或发生错误时回调
type false EventModelType 事件模型类型,0:PULL,1:PUSH

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

订阅合约

函数原型

  1. bool ListenContract(const Identity& id, const EventCallBack& cb, EventModelType type = EventModelType::PULL)

请求参数

参数 必选 类型 说明
id true Identity 合约的业务 ID
cb true EventCallBack 当收到响应、超时或发生错误时回调
type false EventModelType 事件模型类型,0:PULL,1:PUSH

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

订阅主题事件

函数原型

  1. bool ListenTopics(const Topics& topics, const EventCallBack& cb, EventModelType type = EventModelType::PULL)

请求参数

参数 必选 类型 说明
topics true Topics 订阅的主题
cb true EventCallBack 当收到响应、超时或发生错误时回调
type false EventModelType 事件模型类型,0:PULL,1:PUSH

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

订阅区块事件

函数原型

  1. bool ListenBlock(const EventCallBack& cb, EventModelType type = EventModelType::PULL)

请求参数

参数 必选 类型 说明
cb true EventCallBack 当收到响应、超时或发生错误时回调
type false EventModelType 事件模型类型,0:PULL,1:PUSH

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

示例

  1. void SubscribeEvent() {
  2. // callback function
  3. auto block_cb = [](const std::shared_ptr<mychainsdk::Message> &msg) {
  4. printf("block_num:%" PRIu64 "\n", std::dynamic_pointer_cast<EventBlockMessage>(msg)->headers_[0].number_);
  5. };
  6. // listen block
  7. auto result = chain_ptr->ListenBlock(block_cb, EventModelType::PUSH);
  8. printf("listen result:%s\n", result ? "true" : "false");
  9. }

取消订阅账户事件

函数原型

  1. bool UnListenAccount(const Identity& id)

请求参数

参数 必选 类型 说明
id true Identity 账户的业务 ID

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

取消订阅合约事件

函数原型

  1. bool UnListenContract(const Identity& id)

请求参数

参数 必选 类型 说明
id true Identity 合约的业务 ID

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

取消订阅主题事件

函数原型

  1. bool UnListenTopics(const Topics& topics)

请求参数

参数 必选 类型 说明
topics true Topics 订阅的主题

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

取消订阅区块事件

函数原型

  1. bool UnListenBlock()

返回字段

返回字段 字段类型 说明
result bool 返回结果。true:正常;false:错误

示例

  1. void UnSubscribeEvent() {
  2. // unlisten block
  3. auto result = chain_ptr->UnListenBlock();
  4. printf("unlisten result:%s\n", result ? "true" : "false");
  5. }