Struct digibyte::blockdata::block::BlockHeader [−][src]
pub struct BlockHeader { pub version: i32, pub prev_blockhash: BlockHash, pub merkle_root: TxMerkleNode, pub time: u32, pub bits: u32, pub nonce: u32, }
A block header, which contains all the block’s information except the actual transactions
Fields
version: i32
The protocol version. Should always be 1.
prev_blockhash: BlockHash
Reference to the previous block in the chain
merkle_root: TxMerkleNode
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
Implementations
impl BlockHeader
[src]
impl BlockHeader
[src]pub fn block_hash(&self) -> BlockHash
[src]
Return the block hash.
pub fn target(&self) -> Uint256
[src]
Computes the target [0, T] that a blockhash must land in to be valid
pub fn u256_from_compact_target(bits: u32) -> Uint256
[src]
Computes the target value in Uint256
format, from a compact representation.
use bitcoin::blockdata::block::BlockHeader; assert_eq!(0x1d00ffff, BlockHeader::compact_target_from_u256( &BlockHeader::u256_from_compact_target(0x1d00ffff) ) );
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 validate_pow(
&self,
required_target: &Uint256
) -> Result<BlockHash, Error>
[src]
&self,
required_target: &Uint256
) -> Result<BlockHash, Error>
Checks that the proof-of-work for the block is valid, returning the block hash.
pub fn work(&self) -> Uint256
[src]
Returns the total work of the block
Trait Implementations
impl Clone for BlockHeader
[src]
impl Clone for BlockHeader
[src]fn clone(&self) -> BlockHeader
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for BlockHeader
[src]
impl Copy for BlockHeader
[src]impl Decodable for BlockHeader
[src]
impl Decodable for BlockHeader
[src]fn consensus_decode<D: Read>(d: D) -> Result<BlockHeader, Error>
[src]
impl Encodable for BlockHeader
[src]
impl Encodable for BlockHeader
[src]impl Eq for BlockHeader
[src]
impl Eq for BlockHeader
[src]impl PartialEq<BlockHeader> for BlockHeader
[src]
impl PartialEq<BlockHeader> for BlockHeader
[src]fn eq(&self, other: &BlockHeader) -> bool
[src]
fn ne(&self, other: &BlockHeader) -> bool
[src]
impl StructuralEq for BlockHeader
[src]
impl StructuralEq for BlockHeader
[src]impl StructuralPartialEq for BlockHeader
[src]
impl StructuralPartialEq for BlockHeader
[src]Auto Trait Implementations
impl RefUnwindSafe for BlockHeader
impl RefUnwindSafe for BlockHeader
impl Send for BlockHeader
impl Send for BlockHeader
impl Sync for BlockHeader
impl Sync for BlockHeader
impl Unpin for BlockHeader
impl Unpin for BlockHeader
impl UnwindSafe for BlockHeader
impl UnwindSafe for BlockHeader