pub struct RpcClientConfigResponse {Show 59 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_invalid_witnesses: bool,
pub save_latest_witnesses: bool,
pub save_trie_changes: bool,
pub save_tx_outcomes: 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_invalid_witnesses",
"save_latest_witnesses",
"save_trie_changes",
"save_tx_outcomes",
"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.\nIf set to `None` then this node does not participate in the Chunk Distribution Network.\nNodes not participating will still function fine, but possibly with higher\nlatency due to the need of requesting chunks over the peer-to-peer network.",
"anyOf": [
{
"$ref": "#/components/schemas/ChunkDistributionNetworkConfig"
},
{
"type": "null"
}
]
},
"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\ngenesis file. The value only affects the RPCs without influencing the\nprotocol 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\nWe keep only orphan witnesses which are smaller than this size.\nThis 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\nbecause the previous block isn't available. The witnesses wait in the pool until the\nrequired 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.\nA node produces a chunk by adding transactions from the transaction pool until\nsome limit is reached. This time limit ensures that adding transactions won't take\nlonger 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_invalid_witnesses": {
"description": "Save observed instances of invalid ChunkStateWitness to the database in DBCol::InvalidChunkStateWitnesses.\nSaving invalid witnesses is useful for analysis and debugging.\nThis option can cause extra load on the database and is not recommended for production use.",
"type": "boolean"
},
"save_latest_witnesses": {
"description": "Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses.\nSaving the latest witnesses is useful for analysis and debugging.\nThis option can cause extra load on the database and is not recommended for production use.",
"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\nworking in split storage mode needs trie changes in order to do garbage collection on hot.",
"type": "boolean"
},
"save_tx_outcomes": {
"description": "Whether to persist transaction outcomes to disk or not.",
"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.\nIf 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\nwill 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\nto 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: bool
Not clear old data, set true
for archive nodes.
block_fetch_horizon: u64
Horizon at which instead of fetching block, fetch full state.
block_header_fetch_horizon: u64
Behind 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: String
Chain 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: u32
Number 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: bool
Re-export storage layer statistics as prometheus metrics.
epoch_length: u64
Epoch length.
epoch_sync: EpochSyncConfig
Options for epoch sync.
expected_shutdown: MutableConfigValue
Graceful shutdown at expected block height.
gc: GcConfig
Garbage collection configuration.
header_sync_expected_height_per_second: u64
Expected 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: LogSummaryStyle
Enable 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: u32
Minimum number of peers to start syncing.
num_block_producer_seats: u64
Number of block producer seats
orphan_state_witness_max_size: u64
Maximum 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: u32
OrphanStateWitnessPool 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: String
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.
produce_empty_blocks: bool
Produce empty blocks, use false
for testing.
resharding_config: MutableConfigValue
§rpc_addr: Option<String>
Listening rpc port for status.
save_invalid_witnesses: bool
Save observed instances of invalid ChunkStateWitness to the database in DBCol::InvalidChunkStateWitnesses. Saving invalid witnesses is useful for analysis and debugging. This option can cause extra load on the database and is not recommended for production use.
save_latest_witnesses: bool
Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses. Saving the latest witnesses is useful for analysis and debugging. This option can cause extra load on the database and is not recommended for production use.
save_trie_changes: bool
save_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.
save_tx_outcomes: bool
Whether to persist transaction outcomes to disk or not.
skip_sync_wait: bool
Skip waiting for sync (for testing or single node testnet).
state_sync: StateSyncConfig
Options for syncing state.
state_sync_enabled: bool
Whether 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: u64
Sync height threshold: below this difference in height don’t start syncing.
sync_max_block_requests: u32
Maximum 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: u64
If the node is not a chunk producer within that many blocks, then route to upcoming chunk producers.
version: Version
Version of the binary.
view_client_threads: u32
Number 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§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more