Struct massa_bootstrap::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: IpTypeIP version filter for bootstrap list, targeting IpType::IPv4, IpType::IPv6 or IpType::Both. Defaults to IpType::Both.
bootstrap_whitelist_path: PathBufPath to the bootstrap whitelist file. This whitelist define IPs that can bootstrap on your node.
bootstrap_blacklist_path: PathBufPath 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: MassaTimeconnection timeout
bootstrap_timeout: MassaTimeTime allocated to managing the bootstrapping process, i.e. providing the ledger and consensus
read_timeout: MassaTimereadout timeout
write_timeout: MassaTimewrite timeout
read_error_timeout: MassaTimereadout error timeout
write_error_timeout: MassaTimewrite error timeout
retry_delay: MassaTimeTime we wait before retrying a bootstrap
max_ping: MassaTimeMax ping delay.
max_clock_delta: MassaTimeMaximum allowed time between server and client clocks
cache_duration: MassaTimeCache duration
keep_ledger: boolKeep ledger or not if not bootstrap
max_simultaneous_bootstraps: u32Max simultaneous bootstraps
per_ip_min_interval: MassaTimeMinimum interval between two bootstrap attempts from a given IP
ip_list_max_size: usizeMax size of the IP list
rate_limit: u64Read-Write limitation for a connection in bytes per seconds
thread_count: u8thread count
periods_per_cycle: u64period per cycle
max_datastore_key_length: u8max datastore key length
randomness_size_bytes: usizerandomness size bytes
endorsement_count: u32endorsement count
max_advertise_length: u32max advertise length
max_listeners_per_peer: u32max listeners per peer
max_bootstrap_blocks_length: u32max bootstrap blocks length
max_operations_per_block: u32max operations per block
max_bootstrap_error_length: u64max bootstrap error length
max_final_state_elements_size: u32max bootstrap final state new_elements
max_versioning_elements_size: u32max bootstrap versioning new_elements
max_datastore_entry_count: u64max datastore entry count
max_datastore_value_length: u64max datastore value length
max_op_datastore_entry_count: u64max op datastore entry count
max_op_datastore_key_length: u8max op datastore key length
max_op_datastore_value_length: u64max op datastore value length
max_function_name_length: u16max function name length
max_parameters_size: u32max parameters size
max_ledger_changes_count: u64max ledger changes
max_changes_slot_count: u64max slot count in state changes
max_rolls_length: u64max rolls in proof-of-stake and state changes
max_production_stats_length: u64max production stats in proof-of-stake and state changes
max_credits_length: u64max credits in proof-of-stake and state changes
max_executed_ops_length: u64max executed ops
max_ops_changes_length: u64max executed ops changes
consensus_bootstrap_part_size: u64consensus bootstrap part size
max_consensus_block_ids: u64max number of consensus block ids when sending a bootstrap cursor from the client
mip_store_stats_block_considered: usizeblock count to check / process for versioning stats
max_denunciations_per_block_header: u32max denunciations in block header
max_denunciation_changes_length: u64max executed denunciations changes
chain_id: u64chain 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.