pub struct UtreexoNodeConfig {
Show 13 fields pub network: Network, pub pow_fraud_proofs: bool, pub compact_filters: bool, pub fixed_peer: Option<LocalAddress>, 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,
}
Expand description

Configuration for the Utreexo node.

Fields§

§network: Network

The blockchain we are in, defaults to Bitcoin. Possible values are Bitcoin, Testnet, Regtest and Signet.

§pow_fraud_proofs: bool

Whether 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: bool

Whether 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<LocalAddress>

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: u32

Maximum 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: u32

Maximum number of outbound connections. Defaults to 8.

§max_inflight: u32

Maximum number of inflight requests. Defaults to 10.

More inflight requests means more memory usage, but also more parallelism.

§datadir: String

Data 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: bool

If 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: String

The user agent that we will advertise to our peers. Defaults to floresta:<version>.

Trait Implementations§

source§

impl Clone for UtreexoNodeConfig

source§

fn clone(&self) -> UtreexoNodeConfig

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 UtreexoNodeConfig

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for UtreexoNodeConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

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

Initializes a with the given initializer. Read more
source§

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

Dereferences the given pointer. Read more
source§

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

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

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

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

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

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

source§

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