pub struct UtreexoNodeConfig {Show 15 fields
pub network: Network,
pub pow_fraud_proofs: bool,
pub compact_filters: bool,
pub fixed_peer: Option<String>,
pub max_banscore: u32,
pub max_outbound: u32,
pub max_inflight: u32,
pub datadir: String,
pub proxy: Option<SocketAddr>,
pub assume_utreexo: Option<AssumeUtreexoValue>,
pub backfill: bool,
pub filter_start_height: Option<i32>,
pub user_agent: String,
pub allow_v1_fallback: bool,
pub disable_dns_seeds: bool,
}Expand description
Configuration for the Utreexo node.
Fields§
§network: NetworkThe blockchain we are in, defaults to Bitcoin. Possible values are Bitcoin, Testnet, Regtest and Signet.
pow_fraud_proofs: boolWhether to use PoW fraud proofs. Defaults to false.
PoW fraud proof is a mechanism to skip the verification of the whole blockchain,
but while also giving a better security than simple SPV. Check out the documentation
in pow_fraud_proofs.md under the docs folder.
compact_filters: boolWhether to use compact filters. Defaults to false.
Compact filters are useful to rescan the blockchain for a specific address, without needing to download the whole chain. It will download ~1GB of filters, and then download the blocks that match the filters.
fixed_peer: Option<String>Fixed peers to connect to. Defaults to None.
If you want to connect to a specific peer, you can set this to a string with the
format ip:port. For example, localhost:8333.
max_banscore: u32Maximum ban score. Defaults to 100.
If a peer misbehaves, we increase its ban score. If the ban score reaches this value, we disconnect from the peer.
max_outbound: u32Maximum number of outbound connections. Defaults to 8.
max_inflight: u32Maximum number of inflight requests. Defaults to 10.
More inflight requests means more memory usage, but also more parallelism.
datadir: StringData directory for the node. Defaults to .floresta-node.
proxy: Option<SocketAddr>A SOCKS5 proxy to use. Defaults to None.
assume_utreexo: Option<AssumeUtreexoValue>If enabled, the node will assume that the provided Utreexo state is valid, and will start running from there
backfill: boolIf we assumeutreexo or pow_fraud_proof, we can skip the IBD and make our node usable faster, with the tradeoff of security. If this is enabled, we will still download the blocks in the background, and verify the final Utreexo state. So, the worse case scenario is that we are vulnerable to a fraud proof attack for a few hours, but we can spot it and react in a couple of hours at most, so the attack window is very small.
filter_start_height: Option<i32>If we are using network-provided block filters, we may not need to download the whole chain of filters, as our wallets may not have been created at the beginning of the chain. With this option, we can make a rough estimate of the block height we need to start and only download the filters from that height.
If the value is negative, it’s relative to the current tip. For example, if the current tip is at height 1000, and we set this value to -100, we will start downloading filters from height 900.
user_agent: StringThe user agent that we will advertise to our peers. Defaults to floresta:<version>.
allow_v1_fallback: boolWhether to allow fallback to v1 transport if v2 connection fails. Defaults to true.
disable_dns_seeds: boolWhether to disable DNS seeds. Defaults to false.
Trait Implementations§
Source§impl Clone for UtreexoNodeConfig
impl Clone for UtreexoNodeConfig
Source§fn clone(&self) -> UtreexoNodeConfig
fn clone(&self) -> UtreexoNodeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UtreexoNodeConfig
impl Debug for UtreexoNodeConfig
Auto Trait Implementations§
impl Freeze for UtreexoNodeConfig
impl RefUnwindSafe for UtreexoNodeConfig
impl Send for UtreexoNodeConfig
impl Sync for UtreexoNodeConfig
impl Unpin for UtreexoNodeConfig
impl UnwindSafe for UtreexoNodeConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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