Struct NodeInterface

Source
pub struct NodeInterface { /* private fields */ }
Available on non-WebAssembly only.
Expand description

A struct representing the interface to the node.

This struct will be used by consumers to interact with the node. You may have as many of it as you need, and you can use it to send requests to the node and get responses back.

Implementations§

Source§

impl NodeInterface

Source

pub fn new(node_sender: UnboundedSender<NodeNotification>) -> Self

Source

pub async fn add_peer( &self, addr: IpAddr, port: u16, v2transport: bool, ) -> Result<bool, RecvError>

Connects to a specified address and port. This function will return a boolean indicating whether the connection was successful. It may be called multiple times, and may use hostnames or IP addresses.

Source

pub async fn remove_peer( &self, addr: IpAddr, port: u16, ) -> Result<bool, RecvError>

Removes a peer from the node’s peer list. This function will return a boolean indicating whether the peer was successfully removed. It may be called multiple times, and may use hostnames or IP addresses.

Source

pub async fn onetry_peer( &self, addr: IpAddr, port: u16, v2transport: bool, ) -> Result<bool, RecvError>

Attempts to connect to a peer once.

This function will try to connect to the peer once, but will not add it to the node’s peer list. It will return a boolean indicating whether the connection was successful. It may be called multiple times, and may use hostnames or IP addresses.

Source

pub async fn get_block( &self, block: BlockHash, ) -> Result<Option<Block>, RecvError>

Gets a block by its hash.

This function will try to get a block from the network and return it. Note that we don’t keep a local copy of the blockchain, so this function will always make a network request.

Source

pub async fn get_utreexo_block( &self, block: BlockHash, ) -> Result<Option<UtreexoBlock>, RecvError>

Gets a Utreexo block by its hash.

This is similar to get_block, but it returns proof data for the Utreexo accumulator in addition to the block itself.

Source

pub async fn get_mempool_transaction( &self, txid: Txid, ) -> Result<Option<Transaction>, RecvError>

Gets a transaction from the mempool by its ID.

This function will return a transaction from the mempool if it exists. If the transaction is not in the mempool (because it doesn’t exist or because it’s already been mined), this function will return None.

Source

pub async fn get_peer_info(&self) -> Result<Vec<PeerInfo>, RecvError>

Gets information about all connected peers.

This function will return a list of PeerInfo structs, each of which contains information about a single peer.

Source

pub async fn ping(&self) -> Result<bool, RecvError>

Pings all connected peers to check if they are alive.

Trait Implementations§

Source§

impl Clone for NodeInterface

Source§

fn clone(&self) -> NodeInterface

Returns a copy 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 NodeInterface

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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, dst: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

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

Source§

type Output = T

Should always be Self
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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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