pub struct BlockHeader {
pub version: i32,
pub prev_blockhash: BlockHash,
pub merkle_root: TxMerkleNode,
pub time: u32,
pub bits: u32,
pub nonce: u32,
}Expand description
A block header, which contains all the block’s information except the actual transactions
Fields§
§version: i32The protocol version. Should always be 1.
prev_blockhash: BlockHashReference to the previous block in the chain.
merkle_root: TxMerkleNodeThe root hash of the merkle tree of transactions in the block.
time: u32The timestamp of the block, as claimed by the miner.
bits: u32The target value below which the blockhash must lie, encoded as a a float (with well-defined rounding, of course).
nonce: u32The nonce, selected to obtain a low enough blockhash.
Implementations§
Source§impl BlockHeader
impl BlockHeader
Sourcepub fn block_hash(&self) -> BlockHash
pub fn block_hash(&self) -> BlockHash
Returns the block hash.
Sourcepub fn target(&self) -> Uint256
pub fn target(&self) -> Uint256
Computes the target [0, T] that a blockhash must land in to be valid.
Sourcepub fn u256_from_compact_target(bits: u32) -> Uint256
pub fn u256_from_compact_target(bits: u32) -> Uint256
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)
)
);Sourcepub fn compact_target_from_u256(value: &Uint256) -> u32
pub fn compact_target_from_u256(value: &Uint256) -> u32
Computes the target value in float format from Uint256 format.
Sourcepub fn difficulty(&self, network: Network) -> u64
pub fn difficulty(&self, network: Network) -> u64
Computes the popular “difficulty” measure for mining.
Trait Implementations§
Source§impl Clone for BlockHeader
impl Clone for BlockHeader
Source§fn clone(&self) -> BlockHeader
fn clone(&self) -> BlockHeader
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BlockHeader
impl Debug for BlockHeader
Source§impl Decodable for BlockHeader
impl Decodable for BlockHeader
Source§fn consensus_decode_from_finite_reader<D>(d: D) -> Result<BlockHeader, Error>where
D: Read,
fn consensus_decode_from_finite_reader<D>(d: D) -> Result<BlockHeader, Error>where
D: Read,
Decode
Self from a size-limited reader. Read moreSource§fn consensus_decode<D>(d: D) -> Result<BlockHeader, Error>where
D: Read,
fn consensus_decode<D>(d: D) -> Result<BlockHeader, Error>where
D: Read,
Decode an object with a well-defined format
Source§impl<'de> Deserialize<'de> for BlockHeader
impl<'de> Deserialize<'de> for BlockHeader
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<BlockHeader, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<BlockHeader, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encodable for BlockHeader
impl Encodable for BlockHeader
Source§impl PartialEq for BlockHeader
impl PartialEq for BlockHeader
Source§impl Serialize for BlockHeader
impl Serialize for BlockHeader
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for BlockHeader
impl Eq for BlockHeader
impl StructuralPartialEq for BlockHeader
Auto Trait Implementations§
impl Freeze for BlockHeader
impl RefUnwindSafe for BlockHeader
impl Send for BlockHeader
impl Sync for BlockHeader
impl Unpin for BlockHeader
impl UnwindSafe for BlockHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more