[][src]Struct bitcoin::blockdata::block::Block

pub struct Block {
    pub header: BlockHeader,
    pub txdata: Vec<Transaction>,
}

A Bitcoin block, which is a collection of transactions with an attached proof of work.

Fields

header: BlockHeader

The block header

txdata: Vec<Transaction>

List of transactions contained in the block

Methods

impl Block[src]

pub fn block_hash(&self) -> BlockHash[src]

Return the block hash.

pub fn check_merkle_root(&self) -> bool[src]

check if merkle root of header matches merkle root of the transaction list

pub fn check_witness_commitment(&self) -> bool[src]

check if witness commitment in coinbase is matching the transaction list

pub fn merkle_root(&self) -> TxMerkleNode[src]

Calculate the transaction merkle root.

pub fn compute_witness_commitment(
    witness_root: &WitnessMerkleNode,
    witness_reserved_value: &[u8]
) -> WitnessCommitment
[src]

compute witness commitment for the transaction list

pub fn witness_root(&self) -> WitnessMerkleNode[src]

Merkle root of transactions hashed for witness

pub fn get_size(&self) -> usize[src]

Get the size of the block

pub fn get_weight(&self) -> usize[src]

Get the weight of the block

pub fn coinbase(&self) -> Option<&Transaction>[src]

Get the coinbase transaction, if one is present.

pub fn bip34_block_height(&self) -> Result<u64, Bip34Error>[src]

Get the block height as encoded into the coinbase according to BIP34. Returns [None] if not present.

Trait Implementations

impl Encodable for Block[src]

impl Decodable for Block[src]

impl Clone for Block[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialEq<Block> for Block[src]

impl Eq for Block[src]

impl Debug for Block[src]

Auto Trait Implementations

impl Unpin for Block

impl Sync for Block

impl Send for Block

impl UnwindSafe for Block

impl RefUnwindSafe for Block

Blanket Implementations

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]