2021年618京享红包 - 618大促主会场
九阳 Joyoung电磁炉 电陶炉 2200W大功率 家用火锅套装 旋转控温 红外光波加热 H22-x3 赠烤盘
凯迪仕电子锁618狂欢购
有健康 更热爱
美丽雅品牌会员周

区块链开发笔记——对getBlock中所得区块的各个字段进行解释

残梦殇流年 1年前   阅读数 195 0
版权声明: https://blog.csdn.net/dickdick111/article/details/83715180

一.定义

getBlock函数的返回值为区块对象,其中包含一下多个字段:

  • Number - 区块号。当这个区块处于pending将会返回null。
  • hash - 字符串,区块的哈希串。当这个区块处于pending将会返回null。
  • parentHash - 字符串,32字节的父区块的哈希值。
  • nonce - 字符串,8字节。POW生成的哈希。当这个区块处于pending将会返回null。
  • sha3Uncles - 字符串,32字节。叔区块的哈希值。
  • logsBloom - 字符串,区块日志的布隆过滤器。当这个区块处于pending将会返回null。
  • transactionsRoot - 字符串,32字节,区块的交易前缀树的根。
  • stateRoot - 字符串,32字节。区块的最终状态前缀树的根。
  • miner - 字符串,20字节。这个区块获得奖励的矿工。
  • difficulty - BigNumber类型。当前块的难度,整数。
  • totalDifficulty - BigNumber类型。区块链到当前块的总难度,整数。
  • extraData - 字符串。当前块的extra data字段。
  • size - Number。当前这个块的字节大小。
  • gasLimit - Number,当前区块允许使用的最大gas。
  • gasUsed - 当前区块累计使用的总的gas。
  • timestamp - Number。区块打包时的unix时间戳。
  • transactions - 数组。交易对象。或者是32字节的交易哈希。
  • uncles - 数组。叔哈希的数组。

二.具体例子分析

example

分析以上的第十六个区块信息:

  • 第一个字段difficulty表示区块链到当前块的总难度为131968.
  • 第二个字段extraData表示额外的信息字符串,这个字段是留给区块的创建者,让他可以记录一些与该区块有关的信息
  • 第三个字段gasLimit表示当前这个16号区块只允许使用最多3191012个gas
  • 第四个字段gasUsed表示当前这个16号区块累计使用的总gas为0
  • 第五个字段hash表示当前区块的哈希值为0x17f2dec76f0f29a3be561b2f56605···
  • 第六个字段logsBloom为区块日志的布隆过滤器
  • 第七个字段miner表示这个区块获得奖励的矿工
  • 第八个字段mixHash与以太坊的挖矿有关,也就是POW模式,所以它也有一个挖矿难度系数。
  • 第九个字段nonce为POW生成的哈希。
  • 第十个字段number为该区块的序号16
  • 第十一个字段parentHash为上一个区块的哈希值,可以把它看成一个指针,指向上一个区块。
  • 第十二个字段receiptsRoot, 整个日志内容,包括Receipts的其它内容会生成一个ReceiptsRoot存储在区块的头部。
  • 第十三个字段sha3Uncles为叔区块的哈希值
  • 第十四个字段size表示这个区块的字节数大小为538
  • 第十五个字段stateRoot表示为区块的最终状态前缀树的根。
  • 第十六个字段timestamp为区块打包时的unix时间戳。用于回溯时候,可以查询。
  • 第十七个字段totalDifficulty为区块链到当前块的总难度。
  • 第十八个字段transactions为一个交易对象的数组,由于该区块无交易记录,故数组为空。
  • 第十九个字段transactionRoot为区块的交易前缀树的根。
  • 第二十个字段uncles为叔哈希的数组。
阅读更多
(function(){ function setArticleH(btnReadmore,posi){ var winH = $(window).height(); var articleBox = $("div.article_content"); var artH = articleBox.height(); if(artH > winH*posi){ articleBox.css({ 'height':winH*posi+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ if(typeof window.localStorage === "object" && typeof window.csdn.anonymousUserLimit === "object"){ if(!window.csdn.anonymousUserLimit.judgment()){ window.csdn.anonymousUserLimit.Jumplogin(); return false; }else if(!currentUserName){ window.csdn.anonymousUserLimit.updata(); } } articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } var btnReadmore = $("#btn-readmore"); if(btnReadmore.length>0){ if(currentUserName){ setArticleH(btnReadmore,3); }else{ setArticleH(btnReadmore,1.2); } } })()
注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: