[−][src]Struct bitcoin::blockdata::block::BlockHeader
A block header, which contains all the block's information except the actual transactions
Fields
version: u32
The protocol version. Should always be 1.
prev_blockhash: Sha256dHash
Reference to the previous block in the chain
merkle_root: Sha256dHash
The root hash of the merkle tree of transactions in the block
time: u32
The timestamp of the block, as claimed by the miner
bits: u32
The target value below which the blockhash must lie, encoded as a a float (with well-defined rounding, of course)
nonce: u32
The nonce, selected to obtain a low enough blockhash
coinbase_txn: Transaction
Coinbase transaction that is in the parent block, linking the AuxPOW block to its parent block
block_hash: Sha256dHash
Hash of the parent_block header
coinbase_branch_hashes: Vec<Sha256dHash>
The merkle branch linking the coinbase_txn to the parent block's merkle_root
coinbase_branch_side_mask: u32
Bitmask of which side of the merkle hash function the branch_hash element should go on. Zero means it goes on the right, One means on the left. It is equal to the index of the starting hash within the widest level of the merkle tree for this merkle branch.
blockchain_branch_hashes: Vec<Sha256dHash>
The merkle branch linking this auxiliary blockchain to the others, when used in a merged mining setup with multiple auxiliary chains
blockchain_branch_side_mask: u32
Bitmask of which side of the merkle hash function the branch_hash element should go on. Zero means it goes on the right, One means on the left. It is equal to the index of the starting hash within the widest level of the merkle tree for this merkle branch.
parent_version: u32
Parent block header The protocol version. Should always be 1.
parent_prev_blockhash: Sha256dHash
Reference to the previous block in the chain
parent_merkle_root: Sha256dHash
The root hash of the merkle tree of transactions in the block
parent_time: u32
The timestamp of the block, as claimed by the miner
parent_bits: u32
The target value below which the blockhash must lie, encoded as a a float (with well-defined rounding, of course)
parent_nonce: u32
The nonce, selected to obtain a low enough blockhash
Methods
impl BlockHeader
[src]
pub fn target(&self) -> Uint256
[src]
Computes the target [0, T] that a blockhash must land in to be valid
pub fn compact_target_from_u256(value: &Uint256) -> u32
[src]
Computes the target value in float format from Uint256 format.
pub fn difficulty(&self, network: Network) -> u64
[src]
Compute the popular "difficulty" measure for mining
pub fn spv_validate(&self, required_target: &Uint256) -> Result<(), Error>
[src]
Performs an SPV validation of a block, which confirms that the proof-of-work is correct, but does not verify that the transactions are valid or encoded correctly.
pub fn work(&self) -> Uint256
[src]
Returns the total work of the block
Trait Implementations
impl BitcoinHash for BlockHeader
[src]
fn bitcoin_hash(&self) -> Sha256dHash
[src]
impl<S: Encoder> Encodable<S> for BlockHeader
[src]
impl<D: Decoder> Decodable<D> for BlockHeader
[src]
fn consensus_decode(d: &mut D) -> Result<BlockHeader, Error>
[src]
impl Eq for BlockHeader
[src]
impl Clone for BlockHeader
[src]
fn clone(&self) -> BlockHeader
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<BlockHeader> for BlockHeader
[src]
fn eq(&self, other: &BlockHeader) -> bool
[src]
fn ne(&self, other: &BlockHeader) -> bool
[src]
impl<'_> From<&'_ BlockHeader> for BaseHeader
[src]
fn from(item: &BlockHeader) -> Self
[src]
impl Debug for BlockHeader
[src]
Auto Trait Implementations
impl Send for BlockHeader
impl Sync for BlockHeader
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,