Struct massa_bootstrap::settings::BootstrapConfig
source · pub struct BootstrapConfig {Show 52 fields
pub bootstrap_list: Vec<(SocketAddr, NodeId)>,
pub bootstrap_protocol: IpType,
pub bootstrap_whitelist_path: PathBuf,
pub bootstrap_blacklist_path: PathBuf,
pub listen_addr: Option<SocketAddr>,
pub connect_timeout: MassaTime,
pub bootstrap_timeout: MassaTime,
pub read_timeout: MassaTime,
pub write_timeout: MassaTime,
pub read_error_timeout: MassaTime,
pub write_error_timeout: MassaTime,
pub retry_delay: MassaTime,
pub max_ping: MassaTime,
pub max_clock_delta: MassaTime,
pub cache_duration: MassaTime,
pub keep_ledger: bool,
pub max_simultaneous_bootstraps: u32,
pub per_ip_min_interval: MassaTime,
pub ip_list_max_size: usize,
pub rate_limit: u64,
pub thread_count: u8,
pub periods_per_cycle: u64,
pub max_datastore_key_length: u8,
pub randomness_size_bytes: usize,
pub endorsement_count: u32,
pub max_advertise_length: u32,
pub max_listeners_per_peer: u32,
pub max_bootstrap_blocks_length: u32,
pub max_operations_per_block: u32,
pub max_bootstrap_error_length: u64,
pub max_final_state_elements_size: u32,
pub max_versioning_elements_size: u32,
pub max_datastore_entry_count: u64,
pub max_datastore_value_length: u64,
pub max_op_datastore_entry_count: u64,
pub max_op_datastore_key_length: u8,
pub max_op_datastore_value_length: u64,
pub max_function_name_length: u16,
pub max_parameters_size: u32,
pub max_ledger_changes_count: u64,
pub max_changes_slot_count: u64,
pub max_rolls_length: u64,
pub max_production_stats_length: u64,
pub max_credits_length: u64,
pub max_executed_ops_length: u64,
pub max_ops_changes_length: u64,
pub consensus_bootstrap_part_size: u64,
pub max_consensus_block_ids: u64,
pub mip_store_stats_block_considered: usize,
pub max_denunciations_per_block_header: u32,
pub max_denunciation_changes_length: u64,
pub chain_id: u64,
}
Expand description
Bootstrap configuration.
Fields§
§bootstrap_list: Vec<(SocketAddr, NodeId)>
Ip address of our bootstrap nodes and their public key.
bootstrap_protocol: IpType
IP version filter for bootstrap list, targeting IpType::IPv4, IpType::IPv6 or IpType::Both. Defaults to IpType::Both.
bootstrap_whitelist_path: PathBuf
Path to the bootstrap whitelist file. This whitelist define IPs that can bootstrap on your node.
bootstrap_blacklist_path: PathBuf
Path to the bootstrap blacklist file. This whitelist define IPs that will not be able to bootstrap on your node. This list is optional.
listen_addr: Option<SocketAddr>
Port to listen if we choose to allow other nodes to use us as bootstrap node.
connect_timeout: MassaTime
connection timeout
bootstrap_timeout: MassaTime
Time allocated to managing the bootstrapping process, i.e. providing the ledger and consensus
read_timeout: MassaTime
readout timeout
write_timeout: MassaTime
write timeout
read_error_timeout: MassaTime
readout error timeout
write_error_timeout: MassaTime
write error timeout
retry_delay: MassaTime
Time we wait before retrying a bootstrap
max_ping: MassaTime
Max ping delay.
max_clock_delta: MassaTime
Maximum allowed time between server and client clocks
cache_duration: MassaTime
Cache duration
keep_ledger: bool
Keep ledger or not if not bootstrap
max_simultaneous_bootstraps: u32
Max simultaneous bootstraps
per_ip_min_interval: MassaTime
Minimum interval between two bootstrap attempts from a given IP
ip_list_max_size: usize
Max size of the IP list
rate_limit: u64
Read-Write limitation for a connection in bytes per seconds
thread_count: u8
thread count
periods_per_cycle: u64
period per cycle
max_datastore_key_length: u8
max datastore key length
randomness_size_bytes: usize
randomness size bytes
endorsement_count: u32
endorsement count
max_advertise_length: u32
max advertise length
max_listeners_per_peer: u32
max listeners per peer
max_bootstrap_blocks_length: u32
max bootstrap blocks length
max_operations_per_block: u32
max operations per block
max_bootstrap_error_length: u64
max bootstrap error length
max_final_state_elements_size: u32
max bootstrap final state new_elements
max_versioning_elements_size: u32
max bootstrap versioning new_elements
max_datastore_entry_count: u64
max datastore entry count
max_datastore_value_length: u64
max datastore value length
max_op_datastore_entry_count: u64
max op datastore entry count
max_op_datastore_key_length: u8
max op datastore key length
max_op_datastore_value_length: u64
max op datastore value length
max_function_name_length: u16
max function name length
max_parameters_size: u32
max parameters size
max_ledger_changes_count: u64
max ledger changes
max_changes_slot_count: u64
max slot count in state changes
max_rolls_length: u64
max rolls in proof-of-stake and state changes
max_production_stats_length: u64
max production stats in proof-of-stake and state changes
max_credits_length: u64
max credits in proof-of-stake and state changes
max_executed_ops_length: u64
max executed ops
max_ops_changes_length: u64
max executed ops changes
consensus_bootstrap_part_size: u64
consensus bootstrap part size
max_consensus_block_ids: u64
max number of consensus block ids when sending a bootstrap cursor from the client
mip_store_stats_block_considered: usize
block count to check / process for versioning stats
max_denunciations_per_block_header: u32
max denunciations in block header
max_denunciation_changes_length: u64
max executed denunciations changes
chain_id: u64
chain id
Trait Implementations§
source§impl Clone for BootstrapConfig
impl Clone for BootstrapConfig
source§fn clone(&self) -> BootstrapConfig
fn clone(&self) -> BootstrapConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BootstrapConfig
impl Debug for BootstrapConfig
source§impl<'de> Deserialize<'de> for BootstrapConfig
impl<'de> Deserialize<'de> for BootstrapConfig
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl From<&BootstrapConfig> for BootstrapClientConfig
impl From<&BootstrapConfig> for BootstrapClientConfig
source§fn from(value: &BootstrapConfig) -> Self
fn from(value: &BootstrapConfig) -> Self
source§impl From<&BootstrapConfig> for BootstrapSrvBindCfg
impl From<&BootstrapConfig> for BootstrapSrvBindCfg
source§fn from(value: &BootstrapConfig) -> Self
fn from(value: &BootstrapConfig) -> Self
Auto Trait Implementations§
impl Freeze for BootstrapConfig
impl RefUnwindSafe for BootstrapConfig
impl Send for BootstrapConfig
impl Sync for BootstrapConfig
impl Unpin for BootstrapConfig
impl UnwindSafe for BootstrapConfig
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.