Struct lumina_node::node::Node

source ·
pub struct Node<S>
where S: Store + 'static,
{ /* private fields */ }
Expand description

Celestia node.

Implementations§

source§

impl<S> Node<S>
where S: Store,

source

pub async fn new(config: NodeConfig<S>) -> Result<Self, NodeError>

Creates and starts a new celestia node with a given config.

source

pub fn local_peer_id(&self) -> &PeerId

Get node’s local peer ID.

source

pub fn peer_tracker_info(&self) -> PeerTrackerInfo

Get current PeerTracker info.

source

pub async fn wait_connected(&self) -> Result<(), NodeError>

Wait until the node is connected to at least 1 peer.

source

pub async fn wait_connected_trusted(&self) -> Result<(), NodeError>

Wait until the node is connected to at least 1 trusted peer.

source

pub async fn network_info(&self) -> Result<NetworkInfo, NodeError>

Get current network info.

source

pub async fn listeners(&self) -> Result<Vec<Multiaddr>, NodeError>

Get all the multiaddresses on which the node listens.

source

pub async fn connected_peers(&self) -> Result<Vec<PeerId>, NodeError>

Get all the peers that node is connected to.

source

pub async fn set_peer_trust( &self, peer_id: PeerId, is_trusted: bool ) -> Result<(), NodeError>

Trust or untrust the peer with a given ID.

source

pub async fn request_head_header(&self) -> Result<ExtendedHeader, NodeError>

Request the head header from the network.

source

pub async fn request_header_by_hash( &self, hash: &Hash ) -> Result<ExtendedHeader, NodeError>

Request a header for the block with a given hash from the network.

source

pub async fn request_header_by_height( &self, hash: u64 ) -> Result<ExtendedHeader, NodeError>

Request a header for the block with a given height from the network.

source

pub async fn request_verified_headers( &self, from: &ExtendedHeader, amount: u64 ) -> Result<Vec<ExtendedHeader>, NodeError>

Request headers in range (from, from + amount] from the network.

The headers will be verified with the from header.

source

pub async fn syncer_info(&self) -> Result<SyncingInfo, NodeError>

Get current header syncing info.

source

pub fn get_network_head_header(&self) -> Option<ExtendedHeader>

Get the latest header announced in the network.

source

pub async fn get_local_head_header(&self) -> Result<ExtendedHeader, NodeError>

Get the latest locally synced header.

source

pub async fn get_header_by_hash( &self, hash: &Hash ) -> Result<ExtendedHeader, NodeError>

Get a synced header for the block with a given hash.

source

pub async fn get_header_by_height( &self, height: u64 ) -> Result<ExtendedHeader, NodeError>

Get a synced header for the block with a given height.

source

pub async fn get_headers<R>( &self, range: R ) -> Result<Vec<ExtendedHeader>, NodeError>
where R: RangeBounds<u64> + Send,

Get synced headers from the given heights range.

If start of the range is unbounded, the first returned header will be of height 1. If end of the range is unbounded, the last returned header will be the last header in the store.

Errors

If range contains a height of a header that is not found in the store or RangeBounds cannot be converted to a valid range.

Auto Trait Implementations§

§

impl<S> !RefUnwindSafe for Node<S>

§

impl<S> Send for Node<S>

§

impl<S> Sync for Node<S>

§

impl<S> Unpin for Node<S>

§

impl<S> !UnwindSafe for Node<S>

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more