Struct ckb_jsonrpc_types::Header [−][src]
pub struct Header { pub version: Version, pub compact_target: Uint32, pub timestamp: Timestamp, pub number: BlockNumber, pub epoch: EpochNumberWithFraction, pub parent_hash: H256, pub transactions_root: H256, pub proposals_hash: H256, pub uncles_hash: H256, pub dao: Byte32, pub nonce: Uint128, }
Expand description
The block header.
Refer to RFC CKB Block Structure.
Fields
version: Version
The block version.
It must equal to 0 now and is reserved for future upgrades.
compact_target: Uint32
The block difficulty target.
It can be converted to a 256-bit target. Miners must ensure the Eaglesong of the header is within the target.
timestamp: Timestamp
The block timestamp.
It is a Unix timestamp in milliseconds (1 second = 1000 milliseconds).
Miners should put the time when the block is created in the header, however, the precision is not guaranteed. A block with a higher block number may even have a smaller timestamp.
number: BlockNumber
The consecutive block number starting from 0.
epoch: EpochNumberWithFraction
The epoch information of this block.
See EpochNumberWithFraction
for details.
parent_hash: H256
The header hash of the parent block.
transactions_root: H256
The commitment to all the transactions in the block.
It is a hash on two Merkle Tree roots:
- The root of a CKB Merkle Tree, which items are the transaction hashes of all the transactions in the block.
- The root of a CKB Merkle Tree, but the items are the transaction witness hashes of all the transactions in the block.
proposals_hash: H256
The hash on proposals
in the block body.
It is all zeros when proposals
is empty, or the hash on all the bytes concatenated together.
uncles_hash: H256
The hash on uncles
in the block body.
It is all zeros when uncles
is empty, or the hash on all the uncle header hashes concatenated together.
dao: Byte32
DAO fields.
See RFC Deposit and Withdraw in Nervos DAO.
nonce: Uint128
Miner can modify this field to find a proper value such that the Eaglesong of the header is
within the target encoded from compact_target
.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Header
impl UnwindSafe for Header
Blanket Implementations
Mutably borrows from an owned value. Read more