Struct floresta_wire::UtreexoNodeConfig
source · 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
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 more