pub struct Builder { /* private fields */ }
uniffi
only.Expand description
A builder for an Node
instance, allowing to set some configuration and module choices from
the getgo.
§Defaults
- Wallet entropy is sourced from a
keys_seed
file located underConfig::storage_dir_path
- Chain data is sourced from the Esplora endpoint
https://blockstream.info/api
- Gossip data is sourced via the peer-to-peer network
Implementations§
source§impl NodeBuilder
impl NodeBuilder
sourcepub fn from_config(config: Config) -> Self
pub fn from_config(config: Config) -> Self
Creates a new builder instance from an Config
.
sourcepub fn set_entropy_seed_path(&mut self, seed_path: String) -> &mut Self
pub fn set_entropy_seed_path(&mut self, seed_path: String) -> &mut Self
Configures the Node
instance to source its wallet entropy from a seed file on disk.
If the given file does not exist a new random seed file will be generated and stored at the given location.
sourcepub fn set_entropy_seed_bytes(
&mut self,
seed_bytes: Vec<u8>,
) -> Result<&mut Self, BuildError>
pub fn set_entropy_seed_bytes( &mut self, seed_bytes: Vec<u8>, ) -> Result<&mut Self, BuildError>
Configures the Node
instance to source its wallet entropy from the given 64 seed bytes.
sourcepub fn set_entropy_bip39_mnemonic(
&mut self,
mnemonic: Mnemonic,
passphrase: Option<String>,
) -> &mut Self
pub fn set_entropy_bip39_mnemonic( &mut self, mnemonic: Mnemonic, passphrase: Option<String>, ) -> &mut Self
sourcepub fn set_esplora_server(&mut self, esplora_server_url: String) -> &mut Self
pub fn set_esplora_server(&mut self, esplora_server_url: String) -> &mut Self
Configures the Node
instance to source its chain data from the given Esplora server.
sourcepub fn set_gossip_source_p2p(&mut self) -> &mut Self
pub fn set_gossip_source_p2p(&mut self) -> &mut Self
Configures the Node
instance to source its gossip data from the Lightning peer-to-peer
network.
sourcepub fn set_gossip_source_rgs(&mut self, rgs_server_url: String) -> &mut Self
pub fn set_gossip_source_rgs(&mut self, rgs_server_url: String) -> &mut Self
Configures the Node
instance to source its gossip data from the given RapidGossipSync
server.
sourcepub fn set_liquidity_source_lsps2(
&mut self,
address: SocketAddress,
node_id: PublicKey,
token: Option<String>,
) -> &mut Self
pub fn set_liquidity_source_lsps2( &mut self, address: SocketAddress, node_id: PublicKey, token: Option<String>, ) -> &mut Self
Configures the Node
instance to source its inbound liquidity from the given
LSPS2
service.
Will mark the LSP as trusted for 0-confirmation channels, see Config::trusted_peers_0conf
.
The given token
will be used by the LSP to authenticate the user.
sourcepub fn set_storage_dir_path(&mut self, storage_dir_path: String) -> &mut Self
pub fn set_storage_dir_path(&mut self, storage_dir_path: String) -> &mut Self
Sets the used storage directory path.
sourcepub fn set_log_dir_path(&mut self, log_dir_path: String) -> &mut Self
pub fn set_log_dir_path(&mut self, log_dir_path: String) -> &mut Self
Sets the log dir path if logs need to live separate from the storage directory path.
sourcepub fn set_network(&mut self, network: Network) -> &mut Self
pub fn set_network(&mut self, network: Network) -> &mut Self
Sets the Bitcoin network used.
sourcepub fn set_listening_addresses(
&mut self,
listening_addresses: Vec<SocketAddress>,
) -> Result<&mut Self, BuildError>
pub fn set_listening_addresses( &mut self, listening_addresses: Vec<SocketAddress>, ) -> Result<&mut Self, BuildError>
Sets the IP address and TCP port on which Node
will listen for incoming network connections.
sourcepub fn set_log_level(&mut self, level: LogLevel) -> &mut Self
pub fn set_log_level(&mut self, level: LogLevel) -> &mut Self
Sets the level at which Node
will log messages.
sourcepub fn build(&self) -> Result<Node, BuildError>
pub fn build(&self) -> Result<Node, BuildError>
Builds a Node
instance with a SqliteStore
backend and according to the options
previously configured.
sourcepub fn build_with_fs_store(&self) -> Result<Node, BuildError>
pub fn build_with_fs_store(&self) -> Result<Node, BuildError>
Builds a Node
instance with a FilesystemStore
backend and according to the options
previously configured.
sourcepub fn build_with_store(
&self,
kv_store: Arc<dyn KVStore + Sync + Send>,
) -> Result<Node, BuildError>
pub fn build_with_store( &self, kv_store: Arc<dyn KVStore + Sync + Send>, ) -> Result<Node, BuildError>
Builds a Node
instance according to the options previously configured.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NodeBuilder
impl RefUnwindSafe for NodeBuilder
impl Send for NodeBuilder
impl Sync for NodeBuilder
impl Unpin for NodeBuilder
impl UnwindSafe for NodeBuilder
Blanket Implementations§
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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