pub struct ClientConfig {Show 47 fields
pub version: Version,
pub chain_id: String,
pub rpc_addr: Option<String>,
pub expected_shutdown: MutableConfigValue<Option<BlockHeight>>,
pub block_production_tracking_delay: Duration,
pub min_block_production_delay: Duration,
pub max_block_production_delay: Duration,
pub max_block_wait_delay: Duration,
pub skip_sync_wait: bool,
pub sync_check_period: Duration,
pub sync_step_period: Duration,
pub sync_height_threshold: BlockHeightDelta,
pub header_sync_initial_timeout: Duration,
pub header_sync_progress_timeout: Duration,
pub header_sync_stall_ban_timeout: Duration,
pub header_sync_expected_height_per_second: u64,
pub state_sync_timeout: Duration,
pub min_num_peers: usize,
pub log_summary_period: Duration,
pub log_summary_style: LogSummaryStyle,
pub produce_empty_blocks: bool,
pub epoch_length: BlockHeightDelta,
pub num_block_producer_seats: NumSeats,
pub ttl_account_id_router: Duration,
pub block_fetch_horizon: BlockHeightDelta,
pub catchup_step_period: Duration,
pub chunk_request_retry_period: Duration,
pub doosmslug_step_period: Duration,
pub block_header_fetch_horizon: BlockHeightDelta,
pub gc: GCConfig,
pub archive: bool,
pub save_trie_changes: bool,
pub view_client_threads: usize,
pub view_client_throttle_period: Duration,
pub trie_viewer_state_size_limit: Option<u64>,
pub max_gas_burnt_view: Option<Gas>,
pub enable_statistics_export: bool,
pub client_background_migration_threads: usize,
pub flat_storage_creation_enabled: bool,
pub flat_storage_creation_period: Duration,
pub state_sync_enabled: bool,
pub state_sync: StateSyncConfig,
pub transaction_pool_size_limit: Option<u64>,
pub enable_multiline_logging: bool,
pub resharding_config: MutableConfigValue<ReshardingConfig>,
pub tx_routing_height_horizon: BlockHeightDelta,
pub produce_chunk_add_transactions_time_limit: MutableConfigValue<Option<Duration>>,
}Expand description
ClientConfig where some fields can be updated at runtime.
Fields§
§version: VersionVersion of the binary.
chain_id: StringChain id for status.
rpc_addr: Option<String>Listening rpc port for status.
expected_shutdown: MutableConfigValue<Option<BlockHeight>>Graceful shutdown at expected block height.
block_production_tracking_delay: DurationDuration to check for producing / skipping block.
min_block_production_delay: DurationMinimum duration before producing block.
max_block_production_delay: DurationMaximum wait for approvals before producing block.
max_block_wait_delay: DurationMaximum duration before skipping given height.
skip_sync_wait: boolSkip waiting for sync (for testing or single node testnet).
sync_check_period: DurationHow often to check that we are not out of sync.
sync_step_period: DurationWhile syncing, how long to check for each step.
sync_height_threshold: BlockHeightDeltaSync height threshold: below this difference in height don’t start syncing.
header_sync_initial_timeout: DurationHow much time to wait after initial header sync
header_sync_progress_timeout: DurationHow much time to wait after some progress is made in header sync
header_sync_stall_ban_timeout: DurationHow much time to wait before banning a peer in header sync if sync is too slow
header_sync_expected_height_per_second: u64Expected increase of header head height per second during header sync
state_sync_timeout: DurationHow long to wait for a response during state sync
min_num_peers: usizeMinimum number of peers to start syncing.
log_summary_period: DurationPeriod between logging summary information.
log_summary_style: LogSummaryStyleEnable coloring of the logs
produce_empty_blocks: boolProduce empty blocks, use false for testing.
epoch_length: BlockHeightDeltaEpoch length.
num_block_producer_seats: NumSeatsNumber of block producer seats
ttl_account_id_router: DurationTime to persist Accounts Id in the router without removing them.
block_fetch_horizon: BlockHeightDeltaHorizon at which instead of fetching block, fetch full state.
catchup_step_period: DurationTime between check to perform catchup.
chunk_request_retry_period: DurationTime between checking to re-request chunks.
doosmslug_step_period: DurationTime between running doomslug timer.
block_header_fetch_horizon: BlockHeightDeltaBehind this horizon header fetch kicks in.
gc: GCConfigGarbage collection configuration.
archive: boolNot clear old data, set true for archive nodes.
save_trie_changes: boolsave_trie_changes should be set to true iff
- archive if false - non-archivale nodes need trie changes to perform garbage collection
- archive is true, cold_store is configured and migration to split_storage is finished - node working in split storage mode needs trie changes in order to do garbage collection on hot.
view_client_threads: usizeNumber of threads for ViewClientActor pool.
view_client_throttle_period: DurationNumber of seconds between state requests for view client.
trie_viewer_state_size_limit: Option<u64>Upper bound of the byte size of contract state that is still viewable. None is no limit
max_gas_burnt_view: Option<Gas>Max burnt gas per view method. If present, overrides value stored in genesis file. The value only affects the RPCs without influencing the protocol thus changing it per-node doesn’t affect the blockchain.
enable_statistics_export: boolRe-export storage layer statistics as prometheus metrics.
client_background_migration_threads: usizeNumber of threads to execute background migration work in client.
flat_storage_creation_enabled: boolEnables background flat storage creation.
flat_storage_creation_period: DurationDuration to perform background flat storage creation step.
state_sync_enabled: boolWhether to use the State Sync mechanism. If disabled, the node will do Block Sync instead of State Sync.
state_sync: StateSyncConfigOptions for syncing state.
transaction_pool_size_limit: Option<u64>Limit of the size of per-shard transaction pool measured in bytes. If not set, the size will be unbounded.
enable_multiline_logging: bool§resharding_config: MutableConfigValue<ReshardingConfig>§tx_routing_height_horizon: BlockHeightDeltaIf the node is not a chunk producer within that many blocks, then route to upcoming chunk producers.
produce_chunk_add_transactions_time_limit: MutableConfigValue<Option<Duration>>Limit the time of adding transactions to a chunk. A node produces a chunk by adding transactions from the transaction pool until some limit is reached. This time limit ensures that adding transactions won’t take longer than the specified duration, which helps to produce the chunk quickly.
Implementations§
Trait Implementations§
Source§impl Clone for ClientConfig
impl Clone for ClientConfig
Source§fn clone(&self) -> ClientConfig
fn clone(&self) -> ClientConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ClientConfig
impl RefUnwindSafe for ClientConfig
impl Send for ClientConfig
impl Sync for ClientConfig
impl Unpin for ClientConfig
impl UnwindSafe for ClientConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§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§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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