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: 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
sourceimpl 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
sourceimpl Clone for BlockHeader
impl Clone for BlockHeader
sourcefn clone(&self) -> BlockHeader
fn clone(&self) -> BlockHeader
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for BlockHeader
impl Debug for BlockHeader
sourceimpl Decodable for BlockHeader
impl Decodable for BlockHeader
sourcefn consensus_decode<D: Read>(d: D) -> Result<BlockHeader, Error>
fn consensus_decode<D: Read>(d: D) -> Result<BlockHeader, Error>
Decode an object with a well-defined format
sourceimpl<'de> Deserialize<'de> for BlockHeader
impl<'de> Deserialize<'de> for BlockHeader
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Encodable for BlockHeader
impl Encodable for BlockHeader
sourceimpl PartialEq<BlockHeader> for BlockHeader
impl PartialEq<BlockHeader> for BlockHeader
sourcefn eq(&self, other: &BlockHeader) -> bool
fn eq(&self, other: &BlockHeader) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &BlockHeader) -> bool
fn ne(&self, other: &BlockHeader) -> bool
This method tests for !=
.
sourceimpl Serialize for BlockHeader
impl Serialize for BlockHeader
impl Copy for BlockHeader
impl Eq for BlockHeader
impl StructuralEq for BlockHeader
impl StructuralPartialEq for BlockHeader
Auto Trait Implementations
impl RefUnwindSafe for BlockHeader
impl Send for BlockHeader
impl Sync for BlockHeader
impl Unpin for BlockHeader
impl UnwindSafe for BlockHeader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more