Struct Block
pub struct Block {
pub header: BlockHeader,
pub txdata: Vec<Transaction>,
}
Expand description
Bitcoin block.
A collection of transactions with an attached proof of work.
See Bitcoin Wiki: Block for more information.
§Bitcoin Core References
Fields§
§header: BlockHeader
The block header
txdata: Vec<Transaction>
List of transactions contained in the block
Implementations§
§impl Block
impl Block
pub fn block_hash(&self) -> BlockHash
pub fn block_hash(&self) -> BlockHash
Returns the block hash.
pub fn check_merkle_root(&self) -> bool
pub fn check_merkle_root(&self) -> bool
check if merkle root of header matches merkle root of the transaction list
pub fn check_witness_commitment(&self) -> bool
pub fn check_witness_commitment(&self) -> bool
Checks if witness commitment in coinbase matches the transaction list.
pub fn compute_merkle_root(&self) -> Option<TxMerkleNode>
pub fn compute_merkle_root(&self) -> Option<TxMerkleNode>
Computes the transaction merkle root.
pub fn merkle_root(&self) -> Option<TxMerkleNode>
👎Deprecated since 0.28.0: Please use block::compute_merkle_root
instead.
pub fn merkle_root(&self) -> Option<TxMerkleNode>
block::compute_merkle_root
instead.Calculate the transaction merkle root.
pub fn compute_witness_commitment(
witness_root: &WitnessMerkleNode,
witness_reserved_value: &[u8],
) -> WitnessCommitment
pub fn compute_witness_commitment( witness_root: &WitnessMerkleNode, witness_reserved_value: &[u8], ) -> WitnessCommitment
Computes the witness commitment for the block’s transaction list.
pub fn witness_root(&self) -> Option<WitnessMerkleNode>
pub fn witness_root(&self) -> Option<WitnessMerkleNode>
Computes the merkle root of transactions hashed for witness.
pub fn get_size(&self) -> usize
👎Deprecated since 0.28.0: Please use block::size
instead.
pub fn get_size(&self) -> usize
block::size
instead.Returns the size of the block.
pub fn size(&self) -> usize
pub fn size(&self) -> usize
Returns the size of the block.
size == size of header + size of encoded transaction count + total size of transactions.
pub fn get_strippedsize(&self) -> usize
👎Deprecated since 0.28.0: Please use transaction::strippedsize
instead.
pub fn get_strippedsize(&self) -> usize
transaction::strippedsize
instead.Returns the strippedsize of the block.
pub fn strippedsize(&self) -> usize
pub fn strippedsize(&self) -> usize
Returns the strippedsize of the block.
pub fn get_weight(&self) -> usize
👎Deprecated since 0.28.0: Please use transaction::weight
instead.
pub fn get_weight(&self) -> usize
transaction::weight
instead.Returns the weight of the block.
pub fn coinbase(&self) -> Option<&Transaction>
pub fn coinbase(&self) -> Option<&Transaction>
Returns the coinbase transaction, if one is present.
pub fn bip34_block_height(&self) -> Result<u64, Bip34Error>
pub fn bip34_block_height(&self) -> Result<u64, Bip34Error>
Returns the block height, as encoded in the coinbase transaction according to BIP34.
Trait Implementations§
impl Eq for Block
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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request