pub struct RpcProtocolConfigResponse {Show 33 fields
pub avg_hidden_validator_seats_per_shard: Vec<u64>,
pub block_producer_kickout_threshold: Option<u8>,
pub chain_id: Option<String>,
pub chunk_producer_kickout_threshold: Option<u8>,
pub chunk_validator_only_kickout_threshold: Option<u8>,
pub dynamic_resharding: Option<bool>,
pub epoch_length: Option<u64>,
pub fishermen_threshold: Option<NearToken>,
pub gas_limit: Option<NearGas>,
pub gas_price_adjustment_rate: Option<[i32; 2]>,
pub genesis_height: Option<u64>,
pub genesis_time: Option<DateTime<Utc>>,
pub max_gas_price: Option<NearToken>,
pub max_inflation_rate: Option<[i32; 2]>,
pub max_kickout_stake_perc: Option<u8>,
pub min_gas_price: Option<NearToken>,
pub minimum_stake_divisor: Option<u64>,
pub minimum_stake_ratio: Option<[i32; 2]>,
pub minimum_validators_per_shard: Option<u64>,
pub num_block_producer_seats: Option<u64>,
pub num_block_producer_seats_per_shard: Vec<u64>,
pub num_blocks_per_year: Option<u64>,
pub online_max_threshold: Option<[i32; 2]>,
pub online_min_threshold: Option<[i32; 2]>,
pub protocol_reward_rate: Option<[i32; 2]>,
pub protocol_treasury_account: Option<AccountId>,
pub protocol_upgrade_stake_threshold: Option<[i32; 2]>,
pub protocol_version: Option<u32>,
pub runtime_config: Option<RuntimeConfigView>,
pub shard_layout: Option<ShardLayout>,
pub shuffle_shard_assignment_for_chunk_producers: Option<bool>,
pub target_validator_mandates_per_shard: Option<u64>,
pub transaction_validity_period: Option<u64>,
}Expand description
RpcProtocolConfigResponse
JSON schema
{
"type": "object",
"properties": {
"avg_hidden_validator_seats_per_shard": {
"description": "Expected number of hidden validators per shard.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
},
"block_producer_kickout_threshold": {
"description": "Threshold for kicking out block producers, between 0 and 100.",
"type": "integer",
"format": "uint8",
"maximum": 255.0,
"minimum": 0.0
},
"chain_id": {
"description": "ID of the blockchain. This must be unique for every blockchain.\nIf your testnet blockchains do not have unique chain IDs, you will have a bad time.",
"type": "string"
},
"chunk_producer_kickout_threshold": {
"description": "Threshold for kicking out chunk producers, between 0 and 100.",
"type": "integer",
"format": "uint8",
"maximum": 255.0,
"minimum": 0.0
},
"chunk_validator_only_kickout_threshold": {
"description": "Threshold for kicking out nodes which are only chunk validators, between 0 and 100.",
"type": "integer",
"format": "uint8",
"maximum": 255.0,
"minimum": 0.0
},
"dynamic_resharding": {
"description": "Enable dynamic re-sharding.",
"type": "boolean"
},
"epoch_length": {
"description": "Epoch length counted in block heights.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"fishermen_threshold": {
"description": "Fishermen stake threshold.",
"allOf": [
{
"$ref": "#/components/schemas/NearToken"
}
]
},
"gas_limit": {
"description": "Initial gas limit.",
"allOf": [
{
"$ref": "#/components/schemas/NearGas"
}
]
},
"gas_price_adjustment_rate": {
"description": "Gas price adjustment rate",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"genesis_height": {
"description": "Height of genesis block.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"genesis_time": {
"description": "Official time of blockchain start.",
"type": "string",
"format": "date-time"
},
"max_gas_price": {
"description": "Maximum gas price.",
"allOf": [
{
"$ref": "#/components/schemas/NearToken"
}
]
},
"max_inflation_rate": {
"description": "Maximum inflation on the total supply every epoch.",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"max_kickout_stake_perc": {
"description": "Max stake percentage of the validators we will kick out.",
"type": "integer",
"format": "uint8",
"maximum": 255.0,
"minimum": 0.0
},
"min_gas_price": {
"description": "Minimum gas price. It is also the initial gas price.",
"allOf": [
{
"$ref": "#/components/schemas/NearToken"
}
]
},
"minimum_stake_divisor": {
"description": "The minimum stake required for staking is last seat price divided by this number.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"minimum_stake_ratio": {
"description": "The lowest ratio s/s_total any block producer can have.\nSee <https://github.com/near/NEPs/pull/167> for details",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"minimum_validators_per_shard": {
"description": "The minimum number of validators each shard must have",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"num_block_producer_seats": {
"description": "Number of block producer seats at genesis.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"num_block_producer_seats_per_shard": {
"description": "Defines number of shards and number of block producer seats per each shard at genesis.",
"type": "array",
"items": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
},
"num_blocks_per_year": {
"description": "Expected number of blocks per year",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"online_max_threshold": {
"description": "Online maximum threshold above which validator gets full reward.",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"online_min_threshold": {
"description": "Online minimum threshold below which validator doesn't receive reward.",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"protocol_reward_rate": {
"description": "Protocol treasury rate",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"protocol_treasury_account": {
"description": "Protocol treasury account",
"allOf": [
{
"$ref": "#/components/schemas/AccountId"
}
]
},
"protocol_upgrade_stake_threshold": {
"description": "Threshold of stake that needs to indicate that they ready for upgrade.",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"maxItems": 2,
"minItems": 2
},
"protocol_version": {
"description": "Current Protocol Version",
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"runtime_config": {
"description": "Runtime configuration (mostly economics constants).",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeConfigView"
}
]
},
"shard_layout": {
"description": "Layout information regarding how to split accounts to shards",
"allOf": [
{
"$ref": "#/components/schemas/ShardLayout"
}
]
},
"shuffle_shard_assignment_for_chunk_producers": {
"description": "If true, shuffle the chunk producers across shards. In other words, if\nthe shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents\nthe set of chunk producers for shard `i`, if this flag were true, the\nshard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.",
"type": "boolean"
},
"target_validator_mandates_per_shard": {
"description": "Number of target chunk validator mandates for each shard.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"transaction_validity_period": {
"description": "Number of blocks for which a given transaction is valid",
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
}
}Fields§
Expected number of hidden validators per shard.
block_producer_kickout_threshold: Option<u8>Threshold for kicking out block producers, between 0 and 100.
chain_id: Option<String>ID of the blockchain. This must be unique for every blockchain. If your testnet blockchains do not have unique chain IDs, you will have a bad time.
chunk_producer_kickout_threshold: Option<u8>Threshold for kicking out chunk producers, between 0 and 100.
chunk_validator_only_kickout_threshold: Option<u8>Threshold for kicking out nodes which are only chunk validators, between 0 and 100.
dynamic_resharding: Option<bool>Enable dynamic re-sharding.
epoch_length: Option<u64>Epoch length counted in block heights.
fishermen_threshold: Option<NearToken>Fishermen stake threshold.
gas_limit: Option<NearGas>Initial gas limit.
gas_price_adjustment_rate: Option<[i32; 2]>Gas price adjustment rate
genesis_height: Option<u64>Height of genesis block.
genesis_time: Option<DateTime<Utc>>Official time of blockchain start.
max_gas_price: Option<NearToken>Maximum gas price.
max_inflation_rate: Option<[i32; 2]>Maximum inflation on the total supply every epoch.
max_kickout_stake_perc: Option<u8>Max stake percentage of the validators we will kick out.
min_gas_price: Option<NearToken>Minimum gas price. It is also the initial gas price.
minimum_stake_divisor: Option<u64>The minimum stake required for staking is last seat price divided by this number.
minimum_stake_ratio: Option<[i32; 2]>The lowest ratio s/s_total any block producer can have. See https://github.com/near/NEPs/pull/167 for details
minimum_validators_per_shard: Option<u64>The minimum number of validators each shard must have
num_block_producer_seats: Option<u64>Number of block producer seats at genesis.
num_block_producer_seats_per_shard: Vec<u64>Defines number of shards and number of block producer seats per each shard at genesis.
num_blocks_per_year: Option<u64>Expected number of blocks per year
online_max_threshold: Option<[i32; 2]>Online maximum threshold above which validator gets full reward.
online_min_threshold: Option<[i32; 2]>Online minimum threshold below which validator doesn’t receive reward.
protocol_reward_rate: Option<[i32; 2]>Protocol treasury rate
protocol_treasury_account: Option<AccountId>Protocol treasury account
protocol_upgrade_stake_threshold: Option<[i32; 2]>Threshold of stake that needs to indicate that they ready for upgrade.
protocol_version: Option<u32>Current Protocol Version
runtime_config: Option<RuntimeConfigView>Runtime configuration (mostly economics constants).
shard_layout: Option<ShardLayout>Layout information regarding how to split accounts to shards
shuffle_shard_assignment_for_chunk_producers: Option<bool>If true, shuffle the chunk producers across shards. In other words, if
the shard assignments were [S_0, S_1, S_2, S_3] where S_i represents
the set of chunk producers for shard i, if this flag were true, the
shard assignments might become, for example, [S_2, S_0, S_3, S_1].
target_validator_mandates_per_shard: Option<u64>Number of target chunk validator mandates for each shard.
transaction_validity_period: Option<u64>Number of blocks for which a given transaction is valid
Trait Implementations§
Source§impl Clone for RpcProtocolConfigResponse
impl Clone for RpcProtocolConfigResponse
Source§fn clone(&self) -> RpcProtocolConfigResponse
fn clone(&self) -> RpcProtocolConfigResponse
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RpcProtocolConfigResponse
impl Debug for RpcProtocolConfigResponse
Source§impl Default for RpcProtocolConfigResponse
impl Default for RpcProtocolConfigResponse
Source§impl<'de> Deserialize<'de> for RpcProtocolConfigResponse
impl<'de> Deserialize<'de> for RpcProtocolConfigResponse
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<&RpcProtocolConfigResponse> for RpcProtocolConfigResponse
impl From<&RpcProtocolConfigResponse> for RpcProtocolConfigResponse
Source§fn from(value: &RpcProtocolConfigResponse) -> Self
fn from(value: &RpcProtocolConfigResponse) -> Self
Auto Trait Implementations§
impl Freeze for RpcProtocolConfigResponse
impl RefUnwindSafe for RpcProtocolConfigResponse
impl Send for RpcProtocolConfigResponse
impl Sync for RpcProtocolConfigResponse
impl Unpin for RpcProtocolConfigResponse
impl UnwindSafe for RpcProtocolConfigResponse
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)