返回介绍

web3.eth.subscribe('newBlockHeaders') - 订阅区块头生成事件

发布于 2020-01-19 11:52:16 字数 1733 浏览 1420 评论 0 收藏 0

使用newBlockHeaders参数订阅新的区块头生成事件。可用做检查区块链上变化的计时器。

调用:

web3.eth.subscribe('newBlockHeaders' [, callback]);

参数:

  • type:String - "newBlockHeaders", 订阅类型
  • callback:Function - 可选的回调函数,其第一个参数为错误对象,第二个参数为结果

返回值:

EventEmitter: 订阅对象实例,是一个事件发生器,定义有如下事件:

  • "data" 返回 Object: 当收到新的区块头时触发
  • "error" 返回 Object: 当订阅中出现错误时触发

返回的区块头对象结构如下:

  • number - Number: 区块编号,对于pending的块该值为null
  • hash 32 Bytes - String: 块的哈希值,挂起的块该值为null
  • parentHash 32 Bytes - String: 父区块的哈希值
  • nonce 8 Bytes - String: 生成的proof-of-work的哈希值。挂起块该值为null、
  • sha3Uncles 32 Bytes - String: 块中叔伯数据的SHA3值
  • logsBloom 256 Bytes - String: 块日志的bloom filter,块处于挂起状态时该值为null
  • transactionsRoot 32 Bytes - String: 块交易树的根节点
  • stateRoot 32 Bytes - String: 块状态树的根节点
  • receiptRoot 32 Bytes - String: 收据根节点
  • miner - String: 接收挖矿奖励的矿工地址
  • extraData - String: 区块的额外数据字段
  • gasLimit - Number: 该块允许的最大gas用量
  • gasUsed - Number: 该块中所有交易使用的gas总用量
  • timestamp - Number: 出块的unix时间戳

通知返回值:

  • Object|Null - 如果订阅失败,则该参数为错误对象,否则为null
  • Object - 区块头对象

示例代码:

var subscription = web3.eth.subscribe('newBlockHeaders', function(error, result){
    if (error)
        console.log(error);
})
.on("data", function(blockHeader){
});

// unsubscribes the subscription
subscription.unsubscribe(function(error, success){
    if(success)
        console.log('Successfully unsubscribed!');
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文