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
impl<'de> Deserialize<'de> for Header
[src]
impl<'de> Deserialize<'de> for Header
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Eq for Header
[src]
impl StructuralEq for Header
[src]
impl StructuralPartialEq for Header
[src]
Auto Trait Implementations
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,