solana_core::validator

Struct ValidatorConfig

source
pub struct ValidatorConfig {
Show 67 fields pub halt_at_slot: Option<Slot>, pub expected_genesis_hash: Option<Hash>, pub expected_bank_hash: Option<Hash>, pub expected_shred_version: Option<u16>, pub voting_disabled: bool, pub account_paths: Vec<PathBuf>, pub account_snapshot_paths: Vec<PathBuf>, pub rpc_config: JsonRpcConfig, pub on_start_geyser_plugin_config_files: Option<Vec<PathBuf>>, pub rpc_addrs: Option<(SocketAddr, SocketAddr)>, pub pubsub_config: PubSubConfig, pub snapshot_config: SnapshotConfig, pub max_ledger_shreds: Option<u64>, pub broadcast_stage_type: BroadcastStageType, pub turbine_disabled: Arc<AtomicBool>, pub enforce_ulimit_nofile: bool, pub fixed_leader_schedule: Option<FixedSchedule>, pub wait_for_supermajority: Option<Slot>, pub new_hard_forks: Option<Vec<Slot>>, pub known_validators: Option<HashSet<Pubkey>>, pub repair_validators: Option<HashSet<Pubkey>>, pub repair_whitelist: Arc<RwLock<HashSet<Pubkey>>>, pub gossip_validators: Option<HashSet<Pubkey>>, pub accounts_hash_interval_slots: u64, pub max_genesis_archive_unpacked_size: u64, pub wal_recovery_mode: Option<BlockstoreRecoveryMode>, pub run_verification: bool, pub require_tower: bool, pub tower_storage: Arc<dyn TowerStorage>, pub debug_keys: Option<Arc<HashSet<Pubkey>>>, pub contact_debug_interval: u64, pub contact_save_interval: u64, pub send_transaction_service_config: Config, pub no_poh_speed_test: bool, pub no_os_memory_stats_reporting: bool, pub no_os_network_stats_reporting: bool, pub no_os_cpu_stats_reporting: bool, pub no_os_disk_stats_reporting: bool, pub poh_pinned_cpu_core: usize, pub poh_hashes_per_batch: u64, pub process_ledger_before_services: bool, pub account_indexes: AccountSecondaryIndexes, pub accounts_db_config: Option<AccountsDbConfig>, pub warp_slot: Option<Slot>, pub accounts_db_test_hash_calculation: bool, pub accounts_db_skip_shrink: bool, pub accounts_db_force_initial_clean: bool, pub tpu_coalesce: Duration, pub staked_nodes_overrides: Arc<RwLock<HashMap<Pubkey, u64>>>, pub validator_exit: Arc<RwLock<Exit>>, pub no_wait_for_vote_to_start_leader: bool, pub accounts_shrink_ratio: AccountShrinkThreshold, pub wait_to_vote_slot: Option<Slot>, pub ledger_column_options: LedgerColumnOptions, pub runtime_config: RuntimeConfig, pub banking_trace_dir_byte_limit: DirByteLimit, pub block_verification_method: BlockVerificationMethod, pub block_production_method: BlockProductionMethod, pub enable_block_production_forwarding: bool, pub generator_config: Option<GeneratorConfig>, pub use_snapshot_archives_at_startup: UseSnapshotArchivesAtStartup, pub wen_restart_proto_path: Option<PathBuf>, pub unified_scheduler_handler_threads: Option<usize>, pub ip_echo_server_threads: NonZeroUsize, pub replay_forks_threads: NonZeroUsize, pub replay_transactions_threads: NonZeroUsize, pub delay_leader_block_for_pending_fork: bool,
}

Fields§

§halt_at_slot: Option<Slot>§expected_genesis_hash: Option<Hash>§expected_bank_hash: Option<Hash>§expected_shred_version: Option<u16>§voting_disabled: bool§account_paths: Vec<PathBuf>§account_snapshot_paths: Vec<PathBuf>§rpc_config: JsonRpcConfig§on_start_geyser_plugin_config_files: Option<Vec<PathBuf>>

Specifies which plugins to start up with

§rpc_addrs: Option<(SocketAddr, SocketAddr)>§pubsub_config: PubSubConfig§snapshot_config: SnapshotConfig§max_ledger_shreds: Option<u64>§broadcast_stage_type: BroadcastStageType§turbine_disabled: Arc<AtomicBool>§enforce_ulimit_nofile: bool§fixed_leader_schedule: Option<FixedSchedule>§wait_for_supermajority: Option<Slot>§new_hard_forks: Option<Vec<Slot>>§known_validators: Option<HashSet<Pubkey>>§repair_validators: Option<HashSet<Pubkey>>§repair_whitelist: Arc<RwLock<HashSet<Pubkey>>>§gossip_validators: Option<HashSet<Pubkey>>§accounts_hash_interval_slots: u64§max_genesis_archive_unpacked_size: u64§wal_recovery_mode: Option<BlockstoreRecoveryMode>§run_verification: bool

Run PoH, transaction signature and other transaction verifications during blockstore processing.

§require_tower: bool§tower_storage: Arc<dyn TowerStorage>§debug_keys: Option<Arc<HashSet<Pubkey>>>§contact_debug_interval: u64§contact_save_interval: u64§send_transaction_service_config: Config§no_poh_speed_test: bool§no_os_memory_stats_reporting: bool§no_os_network_stats_reporting: bool§no_os_cpu_stats_reporting: bool§no_os_disk_stats_reporting: bool§poh_pinned_cpu_core: usize§poh_hashes_per_batch: u64§process_ledger_before_services: bool§account_indexes: AccountSecondaryIndexes§accounts_db_config: Option<AccountsDbConfig>§warp_slot: Option<Slot>§accounts_db_test_hash_calculation: bool§accounts_db_skip_shrink: bool§accounts_db_force_initial_clean: bool§tpu_coalesce: Duration§staked_nodes_overrides: Arc<RwLock<HashMap<Pubkey, u64>>>§validator_exit: Arc<RwLock<Exit>>§no_wait_for_vote_to_start_leader: bool§accounts_shrink_ratio: AccountShrinkThreshold§wait_to_vote_slot: Option<Slot>§ledger_column_options: LedgerColumnOptions§runtime_config: RuntimeConfig§banking_trace_dir_byte_limit: DirByteLimit§block_verification_method: BlockVerificationMethod§block_production_method: BlockProductionMethod§enable_block_production_forwarding: bool§generator_config: Option<GeneratorConfig>§use_snapshot_archives_at_startup: UseSnapshotArchivesAtStartup§wen_restart_proto_path: Option<PathBuf>§unified_scheduler_handler_threads: Option<usize>§ip_echo_server_threads: NonZeroUsize§replay_forks_threads: NonZeroUsize§replay_transactions_threads: NonZeroUsize§delay_leader_block_for_pending_fork: bool

Implementations§

Trait Implementations§

source§

impl Default for ValidatorConfig

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
source§

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 for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

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 T
where U: TryFrom<T>,

source§

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<T> TupleTree<T, ()> for T

source§

const SIZE: Size = _

source§

fn descendants(_indirect_level: usize) -> usize

source§

fn height() -> usize

source§

fn preorder(self, f: &mut impl FnMut(Visit<T>))

source§

fn preorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))

source§

fn postorder(self, f: &mut impl FnMut(Visit<T>))

source§

fn postorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))

source§

impl<V, T> VZip<V> for T
where 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