[][src]Struct nimiq_blockchain::blockchain::Blockchain

pub struct Blockchain<'env> {
    pub network_id: NetworkId,
    pub notifier: RwLock<Notifier<'env, BlockchainEvent>>,
    pub push_lock: Mutex<()>,
    // some fields omitted
}

Fields

network_id: NetworkIdnotifier: RwLock<Notifier<'env, BlockchainEvent>>push_lock: Mutex<()>

Methods

impl<'env> Blockchain<'env>[src]

pub fn get_transactions_proof(
    &self,
    block_hash: &Blake2bHash,
    addresses: &HashSet<Address>
) -> Option<TransactionsProof>
[src]

pub fn get_accounts_proof(
    &self,
    block_hash: &Blake2bHash,
    addresses: &[Address]
) -> Option<AccountsProof>
[src]

impl<'env> Blockchain<'env>[src]

pub fn new(
    env: &'env Environment,
    network_id: NetworkId,
    network_time: Arc<NetworkTime>
) -> Result<Self, BlockchainError>
[src]

pub fn push(&self, block: Block) -> PushResult[src]

pub fn get_next_target(&self, head_hash: Option<&Blake2bHash>) -> Target[src]

pub fn get_block_locators(&self, max_count: usize) -> Vec<Blake2bHash>[src]

pub fn contains(&self, hash: &Blake2bHash, include_forks: bool) -> bool[src]

pub fn get_block_at(&self, height: u32, include_body: bool) -> Option<Block>[src]

pub fn get_block(
    &self,
    hash: &Blake2bHash,
    include_forks: bool,
    include_body: bool
) -> Option<Block>
[src]

pub fn get_blocks(
    &self,
    start_block_hash: &Blake2bHash,
    count: u32,
    include_body: bool,
    direction: Direction
) -> Vec<Block>
[src]

pub fn head_hash(&self) -> Blake2bHash[src]

pub fn head_hash_from_store(&self, txn: &ReadTransaction) -> Option<Blake2bHash>[src]

pub fn height(&self) -> u32[src]

pub fn head(&self) -> MappedRwLockReadGuard<Block>[src]

pub fn total_work(&self) -> Difficulty[src]

pub fn state(&self) -> RwLockReadGuard<BlockchainState<'env>>[src]

impl<'env> Blockchain<'env>[src]

pub fn get_chain_proof(&self) -> ChainProof[src]

pub fn get_block_proof(
    &self,
    hash_to_prove: &Blake2bHash,
    known_hash: &Blake2bHash
) -> Option<Vec<Block>>
[src]

impl<'env> Blockchain<'env>[src]

pub fn get_transaction_receipts_by_address(
    &self,
    address: &Address,
    sender_limit: usize,
    recipient_limit: usize
) -> Vec<TransactionReceipt>
[src]

pub fn get_transaction_info_by_hash(
    &self,
    transaction_hash: &Blake2bHash
) -> Option<TransactionInfo>
[src]

Auto Trait Implementations

impl<'env> Send for Blockchain<'env>

impl<'env> Sync for Blockchain<'env>

impl<'env> Unpin for Blockchain<'env>

impl<'env> !UnwindSafe for Blockchain<'env>

impl<'env> !RefUnwindSafe for Blockchain<'env>

Blanket Implementations

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

impl<T> From<T> for 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> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> SafeBorrow<T> for T where
    T: ?Sized

impl<T> Erased for T

impl<T> Same<T> for T

type Output = T

Should always be Self