Struct snarkvm_objects::block_header::BlockHeader [−][src]
pub struct BlockHeader {
pub previous_block_hash: BlockHeaderHash,
pub merkle_root_hash: MerkleRootHash,
pub pedersen_merkle_root_hash: PedersenMerkleRootHash,
pub proof: ProofOfSuccinctWork,
pub time: i64,
pub difficulty_target: u64,
pub nonce: u32,
}Expand description
Block header.
Fields
previous_block_hash: BlockHeaderHashHash of the previous block - 32 bytes
merkle_root_hash: MerkleRootHashMerkle root representing the transactions in the block - 32 bytes
pedersen_merkle_root_hash: PedersenMerkleRootHashMerkle root of the transactions in the block using a Pedersen hash - 32 bytes
proof: ProofOfSuccinctWorkProof of Succinct Work
time: i64The block timestamp is a Unix epoch time (UTC) when the miner started hashing the header (according to the miner). - 8 bytes
difficulty_target: u64Proof of work algorithm difficulty target for this block - 8 bytes
nonce: u32Nonce for solving the PoW puzzle - 4 bytes
Implementations
impl BlockHeader[src]
impl BlockHeader[src]Trait Implementations
impl Clone for BlockHeader[src]
impl Clone for BlockHeader[src]fn clone(&self) -> BlockHeader[src]
fn clone(&self) -> BlockHeader[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for BlockHeader[src]
impl Debug for BlockHeader[src]impl<'de> Deserialize<'de> for BlockHeader[src]
impl<'de> Deserialize<'de> for BlockHeader[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]Deserialize this value from the given Serde deserializer. Read more
impl FromBytes for BlockHeader[src]
impl FromBytes for BlockHeader[src]impl PartialEq<BlockHeader> for BlockHeader[src]
impl PartialEq<BlockHeader> for BlockHeader[src]fn eq(&self, other: &BlockHeader) -> bool[src]
fn eq(&self, other: &BlockHeader) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &BlockHeader) -> bool[src]
fn ne(&self, other: &BlockHeader) -> bool[src]This method tests for !=.
impl Serialize for BlockHeader[src]
impl Serialize for BlockHeader[src]impl ToBytes for BlockHeader[src]
impl ToBytes for BlockHeader[src]impl Eq for BlockHeader[src]
impl StructuralEq for BlockHeader[src]
impl StructuralPartialEq for BlockHeader[src]
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
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]pub fn equivalent(&self, key: &K) -> bool[src]
pub fn equivalent(&self, key: &K) -> bool[src]Compare self to key and return true if they are equal.
impl<T> Pointable for T
impl<T> Pointable for Timpl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,