文档

事件接口

更新时间:

订阅账户事件

event.account 用于订阅账号事件。

请求参数

将以下参数整体封装为 object 传入。

参数 必选 类型 说明
to true string 目标账户

示例

  1. // 创建事件实例
  2. const contractEvent = chain.event.contract({
  3. to: 'first'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 注册事件回调
  8. contractEvent.on((err, data) => {
  9. console.log(data)
  10. })
  11. // 更新合约 code,触发事件
  12. chain.ctr.contract('first').update(bytecode, {}, (err, contract, data) => {})

取消订阅账户事件

accountEvent.close 用于取消订阅账号事件,该接口无需请求参数。

示例

  1. // 创建事件实例
  2. const accountEvent = chain.event.account({
  3. to: 'Tester001'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 取消事件
  8. accountEvent.close((err, data) => {
  9. console.log(data)
  10. })

订阅合约事件

event.contract 用于订阅合约事件。

请求参数

将以下参数整体封装为 object 传入。

参数 必选 类型 说明
to true string 目标合约名称或 hash

示例

  1. // 创建事件实例
  2. const contractEvent = chain.event.contract({
  3. to: 'first'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 注册事件回调
  8. contractEvent.on((err, data) => {
  9. console.log(data)
  10. })
  11. // 更新合约代码,触发事件
  12. chain.ctr.UpdateContract({
  13. to: 'first',
  14. data: {
  15. code: bytecode
  16. }
  17. }, (err, data, rlpData) => {})

取消订阅合约事件

contractEvent.close 用于取消订阅账号事件,该接口无需请求参数。

示例

  1. // 创建事件实例
  2. const contractEvent = chain.event.contract({
  3. to: 'first'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 取消事件
  8. contractEvent.close((err, data) => {
  9. console.log(data)
  10. })

订阅主题事件

event.topic 用于订阅合约事件。

请求参数

将以下参数整体封装为 object 传入。

参数 必选 类型 说明
to true string 目标主题

示例

  1. // 创建事件实例
  2. const topicEvent = chain.event.topic({
  3. to: 'create_account'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 注册事件回调
  8. topicEvent.on((err, data) => {
  9. console.log(data)
  10. })
  11. // 执行 CreateAccount,触发 create_account 主题事件
  12. chain.ctr.CreateAccount({
  13. from: 'Tester001',
  14. to: 'Tester002',
  15. data: {
  16. recover_key: '0xf5e50510a04a3f659a0e89f2063f79f8c1aed5ddaab6420ac47700020d9889dc14dae4dc9843c88d8222167095d9e6ce052e8a19cbc737c3f3cddf66409dbb0a',
  17. auth_key: '0xf5e50510a04a3f659a0e89f2063f79f8c1aed5ddaab6420ac47700020d9889dc14dae4dc9843c88d8222167095d9e6ce052e8a19cbc737c3f3cddf66409dbb0a',
  18. auth_weight: 100
  19. }
  20. }, (err, data) => {})

取消订阅主题事件

topicEvent.close 用于取消订阅主题事件,该接口无需请求参数。

示例

  1. // 创建事件实例
  2. const topicEvent = chain.event.topic({
  3. to: 'create_account'
  4. }, (err, data) => {
  5. console.log(data)
  6. })
  7. // 取消事件
  8. topicEvent.close((err, data) => {
  9. console.log(data)
  10. })

订阅区块事件

event.block 用于订阅合约事件,该接口无需请求参数。

示例

  1. // 创建事件实例
  2. const blockEvent = chain.event.block({}, (err, data) => {
  3. console.log(data)
  4. })
  5. // 注册事件回调,出块时触发事件
  6. blockEvent.on((err, data) => {
  7. console.log(data)
  8. })

取消订阅区块事件

blockEvent.close 用于取消订阅主题事件,该接口无需请求参数。

示例

  1. // 创建事件实例
  2. const blockEvent = chain.event.block({}, (err, data) => {
  3. console.log(data)
  4. })
  5. // 取消事件
  6. blockEvent.close((err, data) => {
  7. console.log(data)
  8. })

订阅合约自定义事件

直接使用目标合约事件名。此接口用于完成合约内自定义事件的订阅。

请求参数

将以下参数整体封装为 object 传入。

参数 必选 类型 说明
filter false object 事件过滤,可通过自定义事件的参数进行过滤。
callback false function 事件回调。

示例

  1. myContract.new(bytecode, {
  2. from: 'Tester001',
  3. // parameters: [param1, param2]
  4. }, (err, contract, data) => {
  5. console.log(data)
  6. // 订阅合约事件‘IssueEvent’,参数为事件回调,这里 filter: {a: 10} 可以控制只监听 IssueEvent(10) 的情况
  7. myContract.IssueEvent({filter: {a: 10}}, (err, output, data) => {
  8. console.log('output is:', output)
  9. })
  10. myContract.IssueEvent((err, output, data) => {
  11. console.log('output is:', output)
  12. })
  13. })
  • 本页导读 (0)
文档反馈