Block

Struct Block 

Source
pub struct Block {
    pub header: BlockHeader,
    pub coinbase_txn: Transaction,
    pub block_hash: Hash,
    pub coinbase_branch_hashes: Vec<Hash>,
    pub coinbase_branch_side_mask: u32,
    pub blockchain_branch_hashes: Vec<Hash>,
    pub blockchain_branch_side_mask: u32,
    pub parent_block: BlockHeader,
    pub txdata: Vec<Transaction>,
}
Expand description

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

Fields§

§header: BlockHeader

The block header

§coinbase_txn: Transaction

Coinbase transaction that is in the parent block, linking the AuxPOW block to its parent block

§block_hash: Hash

Hash of the parent_block header

§coinbase_branch_hashes: Vec<Hash>

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<Hash>

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_block: BlockHeader

Parent block header

§txdata: Vec<Transaction>

List of transactions contained in the block

Trait Implementations§

Source§

impl BitcoinHash for Block

Source§

fn bitcoin_hash(&self) -> Hash

Produces a Sha256dHash which can be used to refer to the object
Source§

impl Clone for Block

Source§

fn clone(&self) -> Block

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Block

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<D: Decoder> Decodable<D> for Block

Source§

fn consensus_decode(d: &mut D) -> Result<Block, Error>

Decode an object with a well-defined format
Source§

impl<S: Encoder> Encodable<S> for Block

Source§

fn consensus_encode(&self, s: &mut S) -> Result<(), Error>

Encode an object with a well-defined format, should only ever error if the underlying Encoder errors.
Source§

impl PartialEq for Block

Source§

fn eq(&self, other: &Block) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Block

Source§

impl StructuralPartialEq for Block

Auto Trait Implementations§

§

impl Freeze for Block

§

impl RefUnwindSafe for Block

§

impl Send for Block

§

impl Sync for Block

§

impl Unpin for Block

§

impl UnwindSafe for Block

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.