版权声明: 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 - 数组。叔哈希的数组。
二.具体例子分析

分析以上的第十六个区块信息:
- 第一个字段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为叔哈希的数组。