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: Byte32nonce: 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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Performs the conversion.

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.