pub struct RpcClientConfigResponse {Show 57 fields
pub archive: bool,
pub block_fetch_horizon: u64,
pub block_header_fetch_horizon: u64,
pub block_production_tracking_delay: [u64; 2],
pub catchup_step_period: [u64; 2],
pub chain_id: String,
pub chunk_distribution_network: Option<ChunkDistributionNetworkConfig>,
pub chunk_request_retry_period: [u64; 2],
pub chunk_wait_mult: [i32; 2],
pub client_background_migration_threads: u32,
pub doomslug_step_period: [u64; 2],
pub enable_multiline_logging: bool,
pub enable_statistics_export: bool,
pub epoch_length: u64,
pub epoch_sync: EpochSyncConfig,
pub expected_shutdown: MutableConfigValue,
pub gc: GcConfig,
pub header_sync_expected_height_per_second: u64,
pub header_sync_initial_timeout: [u64; 2],
pub header_sync_progress_timeout: [u64; 2],
pub header_sync_stall_ban_timeout: [u64; 2],
pub log_summary_period: [u64; 2],
pub log_summary_style: LogSummaryStyle,
pub max_block_production_delay: [u64; 2],
pub max_block_wait_delay: [u64; 2],
pub max_gas_burnt_view: Option<u64>,
pub min_block_production_delay: [u64; 2],
pub min_num_peers: u32,
pub num_block_producer_seats: u64,
pub orphan_state_witness_max_size: u64,
pub orphan_state_witness_pool_size: u32,
pub produce_chunk_add_transactions_time_limit: String,
pub produce_empty_blocks: bool,
pub resharding_config: MutableConfigValue,
pub rpc_addr: Option<String>,
pub save_latest_witnesses: bool,
pub save_trie_changes: bool,
pub skip_sync_wait: bool,
pub state_sync: StateSyncConfig,
pub state_sync_enabled: bool,
pub state_sync_external_backoff: [u64; 2],
pub state_sync_external_timeout: [u64; 2],
pub state_sync_p2p_timeout: [u64; 2],
pub state_sync_retry_backoff: [u64; 2],
pub sync_check_period: [u64; 2],
pub sync_height_threshold: u64,
pub sync_max_block_requests: u32,
pub sync_step_period: [u64; 2],
pub tracked_shards_config: TrackedShardsConfig,
pub transaction_pool_size_limit: Option<u64>,
pub transaction_request_handler_threads: u32,
pub trie_viewer_state_size_limit: Option<u64>,
pub ttl_account_id_router: [u64; 2],
pub tx_routing_height_horizon: u64,
pub version: Version,
pub view_client_threads: u32,
pub view_client_throttle_period: [u64; 2],
}Expand description
ClientConfig where some fields can be updated at runtime.
JSON schema
{
"description": "ClientConfig where some fields can be updated at runtime.",
"type": "object",
"required": [
"archive",
"block_fetch_horizon",
"block_header_fetch_horizon",
"block_production_tracking_delay",
"catchup_step_period",
"chain_id",
"chunk_request_retry_period",
"chunk_wait_mult",
"client_background_migration_threads",
"doomslug_step_period",
"enable_multiline_logging",
"enable_statistics_export",
"epoch_length",
"epoch_sync",
"expected_shutdown",
"gc",
"header_sync_expected_height_per_second",
"header_sync_initial_timeout",
"header_sync_progress_timeout",
"header_sync_stall_ban_timeout",
"log_summary_period",
"log_summary_style",
"max_block_production_delay",
"max_block_wait_delay",
"min_block_production_delay",
"min_num_peers",
"num_block_producer_seats",
"orphan_state_witness_max_size",
"orphan_state_witness_pool_size",
"produce_chunk_add_transactions_time_limit",
"produce_empty_blocks",
"resharding_config",
"save_latest_witnesses",
"save_trie_changes",
"skip_sync_wait",
"state_sync",
"state_sync_enabled",
"state_sync_external_backoff",
"state_sync_external_timeout",
"state_sync_p2p_timeout",
"state_sync_retry_backoff",
"sync_check_period",
"sync_height_threshold",
"sync_max_block_requests",
"sync_step_period",
"tracked_shards_config",
"transaction_request_handler_threads",
"ttl_account_id_router",
"tx_routing_height_horizon",
"version",
"view_client_threads",
"view_client_throttle_period"
],
"properties": {
"archive": {
"description": "Not clear old data, set `true` for archive nodes.",
"type": "boolean"
},
"block_fetch_horizon": {
"description": "Horizon at which instead of fetching block, fetch full state.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"block_header_fetch_horizon": {
"description": "Behind this horizon header fetch kicks in.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"block_production_tracking_delay": {
"description": "Duration to check for producing / skipping block.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"catchup_step_period": {
"description": "Time between check to perform catchup.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"chain_id": {
"description": "Chain id for status.",
"type": "string"
},
"chunk_distribution_network": {
"description": "Optional config for the Chunk Distribution Network feature.\n If set to `None` then this node does not participate in the Chunk Distribution Network.\n Nodes not participating will still function fine, but possibly with higher\n latency due to the need of requesting chunks over the peer-to-peer network.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ChunkDistributionNetworkConfig"
}
]
}
]
},
"chunk_request_retry_period": {
"description": "Time between checking to re-request chunks.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"chunk_wait_mult": {
"description": "Multiplier for the wait time for all chunks to be received.",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"client_background_migration_threads": {
"description": "Number of threads to execute background migration work in client.",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"doomslug_step_period": {
"description": "Time between running doomslug timer.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"enable_multiline_logging": {
"type": "boolean"
},
"enable_statistics_export": {
"description": "Re-export storage layer statistics as prometheus metrics.",
"type": "boolean"
},
"epoch_length": {
"description": "Epoch length.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"epoch_sync": {
"description": "Options for epoch sync.",
"allOf": [
{
"$ref": "#/components/schemas/EpochSyncConfig"
}
]
},
"expected_shutdown": {
"description": "Graceful shutdown at expected block height.",
"allOf": [
{
"$ref": "#/components/schemas/MutableConfigValue"
}
]
},
"gc": {
"description": "Garbage collection configuration.",
"allOf": [
{
"$ref": "#/components/schemas/GCConfig"
}
]
},
"header_sync_expected_height_per_second": {
"description": "Expected increase of header head height per second during header sync",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"header_sync_initial_timeout": {
"description": "How much time to wait after initial header sync",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"header_sync_progress_timeout": {
"description": "How much time to wait after some progress is made in header sync",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"header_sync_stall_ban_timeout": {
"description": "How much time to wait before banning a peer in header sync if sync is too slow",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"log_summary_period": {
"description": "Period between logging summary information.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"log_summary_style": {
"description": "Enable coloring of the logs",
"allOf": [
{
"$ref": "#/components/schemas/LogSummaryStyle"
}
]
},
"max_block_production_delay": {
"description": "Maximum wait for approvals before producing block.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"max_block_wait_delay": {
"description": "Maximum duration before skipping given height.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"max_gas_burnt_view": {
"description": "Max burnt gas per view method. If present, overrides value stored in\n genesis file. The value only affects the RPCs without influencing the\n protocol thus changing it per-node doesn’t affect the blockchain.",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"min_block_production_delay": {
"description": "Minimum duration before producing block.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"min_num_peers": {
"description": "Minimum number of peers to start syncing.",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"num_block_producer_seats": {
"description": "Number of block producer seats",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"orphan_state_witness_max_size": {
"description": "Maximum size of state witnesses in the OrphanStateWitnessPool.\n\n We keep only orphan witnesses which are smaller than this size.\n This limits the maximum memory usage of OrphanStateWitnessPool.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"orphan_state_witness_pool_size": {
"description": "OrphanStateWitnessPool keeps instances of ChunkStateWitness which can't be processed\n because the previous block isn't available. The witnesses wait in the pool until the\n required block appears. This variable controls how many witnesses can be stored in the pool.",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"produce_chunk_add_transactions_time_limit": {
"description": "Limit the time of adding transactions to a chunk.\n A node produces a chunk by adding transactions from the transaction pool until\n some limit is reached. This time limit ensures that adding transactions won't take\n longer than the specified duration, which helps to produce the chunk quickly.",
"type": "string"
},
"produce_empty_blocks": {
"description": "Produce empty blocks, use `false` for testing.",
"type": "boolean"
},
"resharding_config": {
"$ref": "#/components/schemas/MutableConfigValue"
},
"rpc_addr": {
"description": "Listening rpc port for status.",
"type": [
"string",
"null"
]
},
"save_latest_witnesses": {
"description": "Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses.\n Saving the latest witnesses is useful for analysis and debugging.\n When this option is enabled, the node will save ALL witnesses it observes, even invalid ones,\n which can cause extra load on the database. This option is not recommended for production use,\n as a large number of incoming witnesses could cause denial of service.",
"type": "boolean"
},
"save_trie_changes": {
"description": "save_trie_changes should be set to true iff\n - archive if false - non-archival nodes need trie changes to perform garbage collection\n - archive is true, cold_store is configured and migration to split_storage is finished - node\n working in split storage mode needs trie changes in order to do garbage collection on hot.",
"type": "boolean"
},
"skip_sync_wait": {
"description": "Skip waiting for sync (for testing or single node testnet).",
"type": "boolean"
},
"state_sync": {
"description": "Options for syncing state.",
"allOf": [
{
"$ref": "#/components/schemas/StateSyncConfig"
}
]
},
"state_sync_enabled": {
"description": "Whether to use the State Sync mechanism.\n If disabled, the node will do Block Sync instead of State Sync.",
"type": "boolean"
},
"state_sync_external_backoff": {
"description": "Additional waiting period after a failed request to external storage",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"state_sync_external_timeout": {
"description": "How long to wait for a response from centralized state sync",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"state_sync_p2p_timeout": {
"description": "How long to wait for a response from p2p state sync",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"state_sync_retry_backoff": {
"description": "How long to wait after a failed state sync request",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"sync_check_period": {
"description": "How often to check that we are not out of sync.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"sync_height_threshold": {
"description": "Sync height threshold: below this difference in height don't start syncing.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"sync_max_block_requests": {
"description": "Maximum number of block requests to send to peers to sync",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"sync_step_period": {
"description": "While syncing, how long to check for each step.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"tracked_shards_config": {
"$ref": "#/components/schemas/TrackedShardsConfig"
},
"transaction_pool_size_limit": {
"description": "Limit of the size of per-shard transaction pool measured in bytes. If not set, the size\n will be unbounded.",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"transaction_request_handler_threads": {
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"trie_viewer_state_size_limit": {
"description": "Upper bound of the byte size of contract state that is still viewable. None is no limit",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"ttl_account_id_router": {
"description": "Time to persist Accounts Id in the router without removing them.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
},
"tx_routing_height_horizon": {
"description": "If the node is not a chunk producer within that many blocks, then route\n to upcoming chunk producers.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"version": {
"description": "Version of the binary.",
"allOf": [
{
"$ref": "#/components/schemas/Version"
}
]
},
"view_client_threads": {
"description": "Number of threads for ViewClientActor pool.",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"view_client_throttle_period": {
"description": "Number of seconds between state requests for view client.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"maxItems": 2,
"minItems": 2
}
}
}Fields§
§archive: boolNot clear old data, set true for archive nodes.
block_fetch_horizon: u64Horizon at which instead of fetching block, fetch full state.
block_header_fetch_horizon: u64Behind this horizon header fetch kicks in.
block_production_tracking_delay: [u64; 2]Duration to check for producing / skipping block.
catchup_step_period: [u64; 2]Time between check to perform catchup.
chain_id: StringChain id for status.
chunk_distribution_network: Option<ChunkDistributionNetworkConfig>Optional config for the Chunk Distribution Network feature.
If set to None then this node does not participate in the Chunk Distribution Network.
Nodes not participating will still function fine, but possibly with higher
latency due to the need of requesting chunks over the peer-to-peer network.
chunk_request_retry_period: [u64; 2]Time between checking to re-request chunks.
chunk_wait_mult: [i32; 2]Multiplier for the wait time for all chunks to be received.
client_background_migration_threads: u32Number of threads to execute background migration work in client.
doomslug_step_period: [u64; 2]Time between running doomslug timer.
enable_multiline_logging: bool§enable_statistics_export: boolRe-export storage layer statistics as prometheus metrics.
epoch_length: u64Epoch length.
epoch_sync: EpochSyncConfigOptions for epoch sync.
expected_shutdown: MutableConfigValueGraceful shutdown at expected block height.
gc: GcConfigGarbage collection configuration.
header_sync_expected_height_per_second: u64Expected increase of header head height per second during header sync
header_sync_initial_timeout: [u64; 2]How much time to wait after initial header sync
header_sync_progress_timeout: [u64; 2]How much time to wait after some progress is made in header sync
header_sync_stall_ban_timeout: [u64; 2]How much time to wait before banning a peer in header sync if sync is too slow
log_summary_period: [u64; 2]Period between logging summary information.
log_summary_style: LogSummaryStyleEnable coloring of the logs
max_block_production_delay: [u64; 2]Maximum wait for approvals before producing block.
max_block_wait_delay: [u64; 2]Maximum duration before skipping given height.
max_gas_burnt_view: Option<u64>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.
min_block_production_delay: [u64; 2]Minimum duration before producing block.
min_num_peers: u32Minimum number of peers to start syncing.
num_block_producer_seats: u64Number of block producer seats
orphan_state_witness_max_size: u64Maximum size of state witnesses in the OrphanStateWitnessPool.
We keep only orphan witnesses which are smaller than this size. This limits the maximum memory usage of OrphanStateWitnessPool.
orphan_state_witness_pool_size: u32OrphanStateWitnessPool keeps instances of ChunkStateWitness which can’t be processed because the previous block isn’t available. The witnesses wait in the pool until the required block appears. This variable controls how many witnesses can be stored in the pool.
produce_chunk_add_transactions_time_limit: StringLimit 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.
produce_empty_blocks: boolProduce empty blocks, use false for testing.
resharding_config: MutableConfigValue§rpc_addr: Option<String>Listening rpc port for status.
save_latest_witnesses: boolSave observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses. Saving the latest witnesses is useful for analysis and debugging. When this option is enabled, the node will save ALL witnesses it observes, even invalid ones, which can cause extra load on the database. This option is not recommended for production use, as a large number of incoming witnesses could cause denial of service.
save_trie_changes: boolsave_trie_changes should be set to true iff
- archive if false - non-archival 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.
skip_sync_wait: boolSkip waiting for sync (for testing or single node testnet).
state_sync: StateSyncConfigOptions for syncing state.
state_sync_enabled: boolWhether to use the State Sync mechanism. If disabled, the node will do Block Sync instead of State Sync.
state_sync_external_backoff: [u64; 2]Additional waiting period after a failed request to external storage
state_sync_external_timeout: [u64; 2]How long to wait for a response from centralized state sync
state_sync_p2p_timeout: [u64; 2]How long to wait for a response from p2p state sync
state_sync_retry_backoff: [u64; 2]How long to wait after a failed state sync request
sync_check_period: [u64; 2]How often to check that we are not out of sync.
sync_height_threshold: u64Sync height threshold: below this difference in height don’t start syncing.
sync_max_block_requests: u32Maximum number of block requests to send to peers to sync
sync_step_period: [u64; 2]While syncing, how long to check for each step.
tracked_shards_config: TrackedShardsConfig§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.
transaction_request_handler_threads: u32§trie_viewer_state_size_limit: Option<u64>Upper bound of the byte size of contract state that is still viewable. None is no limit
ttl_account_id_router: [u64; 2]Time to persist Accounts Id in the router without removing them.
tx_routing_height_horizon: u64If the node is not a chunk producer within that many blocks, then route to upcoming chunk producers.
version: VersionVersion of the binary.
view_client_threads: u32Number of threads for ViewClientActor pool.
view_client_throttle_period: [u64; 2]Number of seconds between state requests for view client.
Trait Implementations§
Source§impl Clone for RpcClientConfigResponse
impl Clone for RpcClientConfigResponse
Source§fn clone(&self) -> RpcClientConfigResponse
fn clone(&self) -> RpcClientConfigResponse
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source. Read more