Search
Duplicate
Try Notion
Page icon

Network Properties

Concept

KIRA Network utilizes a unique set of on-chain variables known as Network Properties to help control and regulate various behaviors and characteristics of the SEKAI application on a network-wide basis. These parameters serve as the operational gears of the system, allowing for the adjustment of pivotal features such as KEX inflation rate, the minimum transaction fee for any on-chain message to ensure global transaction spam protection, or even the required minimum percentage of governance members necessary to vote on a proposal, making it valid. Such versatility is particularly beneficial, considering the ever-evolving needs of the community and the potential alterations in the network's operational dynamics. Any changes to these network properties require consensus from the network's governance, ensuring that any alterations align with the wishes of the majority of network participants.

Parameters

All network properties and their respective default values (which can also be found here)
Table
Filter
Sort
#
NAME
TYPE
GENESIS
BOUNDS (min - max)
DESCRIPTION
min_tx_fee
uint64
100
Minimum transaction fee in ukex that must be sent in order to submit any on-chain message. Global transaction spam protection measure.
max_tx_fee
uint64
1000000
Maximum transaction fee in ukex that can be sent along any transaction type. Prevents potential loss of funds while specifying wrong transaction fee amount by the user.
vote_quorum
uint64
33
Required, minimum percentage of governance members with permission to vote on a given proposal to make said proposal valid. If minimum quorum is not reached then passing said proposal is not possible.
minimum_proposal_end_time
uint64
300
Minimum time in seconds that proposals must be active and default time for all proposals to remain pending. Duration time of individual proposal can be modified by governance as explained here.
proposal_enactment_time
uint64
300
Minimum time in seconds for the proposals to take effect after they passed
min_proposal_end_blocks
uint64
2
Minimum number of blocks during which the proposals MUST remain active. This is used to prevent edge cases where minimum_proposal_end_time is set to value shorter than a single block time, thus making it impossible to vote in time.
min_proposal_enactment_blocks
uint64
1
Minimum number of blocks that must pass after proposal passed for the proposal to take effect.
enable_foreign_fee_payments
bool
true
Allow transaction fee payments with tokens other than KEX
mischance_rank_decrease_amount
uint64
10
When it's certain that validator is offline and failed to participate in a block production, decrease its global rank by the specified value.
max_mischance
uint64
10
How many consecutive blocks must the validator miss for the network to change validator status to inactive
mischance_confidence
uint64
110
How many consecutive blocks must the validator miss for the network to be certain that the node is offline and not participating in the block signing
inactive_rank_decrease_percent
float
0.50
By what percentage should the validator global rank decrease when the said validator node status changes to inactive due to not participating in signing new blocks.
min_validators
uint64
1000000
When poor network conditions occur, sets the maximum value in ukex that can be transferred between accounts.
poor_network_max_bank_send
uint64
1
Minimum number of consensus nodes that must be active for the network to be considered healthy. If number of validators falls below this value then poor network conditions occur.
unjail_max_time
uint64
600
< slashing_period
Maximum amount of time in seconds which a jailed node has to request to be unjailed before becoming permanently jailed (tombstoned).
enable_token_whitelist
bool
false
Enables whitelist of tokens transferable on the network
enable_token_blacklist
bool
true
Enable blacklist of tokens transferable on the network
min_identity_approval_tip
uint64
200
Minimum tip in ukex amount that must be sent along Identity Registrar record verification request
unique_identity_keys
string
moniker,username
Key values that must remain unique in the Identity Registrar
ubi_hardcap
uint64
6000000
Maximum amount of additional KEX that can be created per year by the UBI module
validators_fee_share
float
0.50
0 - 0.5
Percentage cut a block proposer takes from the block’s transaction fees rewards.
inflation_rate
float
0.18
0 - 0.5
KEX inflation percentage
inflation_period
uint64
31557600
2629800 - 31557600
Period of time in seconds over which current KEX supply is inflated by inflation_rate
unstaking_period
uint64
2629800
604800 - 31557600 or slashing_period
Undelegation cooling period (in seconds)
max_delegators
uint64
100
Maximum number of delegators allowed per staking pool above which min_delegation_pushout can be triggered.
min_delegation_pushout
uint64
10
The minimum stake multiplier amount a user need to provide to push out the weakest delegator of a staking pool who reach its max_delegators capacity
slashing_period
uint64
3600
> unstaking_period
The time window in seconds in which a collusion of double-signing event must occur in order for a slashing proposal to be automatically rised
max_jailed_percentage
float
0.25
< one third of active nodes
The percentage threshold of consensus nodes that must double-sign within the time window slashing_period in order for a slashing proposal to be automatically rised.
max_slashing_percentage
float
0.01
0 - 1
Maximum percentage of slashing that can be applied by governance to a jailed consensus node.
min_custody_reward
uint64
200
max_custody_buffer_size
uint64
8192
max_custody_tx_size
uint64
10
abstention_rank_decrease_amount
uint64
1
Amount of rank decrease when absent
max_abstention
uint64
2
Max abstention count for councilor
min_collective_bond
uint64
100000
Minimum bond amount for the collective to be activated
min_collective_bonding_time
uint64
86400
Allowed time to reach min_collective_bond
max_collective_outputs
uint64
10
Limitation on the maximum number of spending pools configuration per collective
min_collective_claim_period
uint64
14400
In seconds
validator_recovery_bond
uint64
300000
Amount of KEX to spend for issuing validator recovery token
max_annual_inflation
float
0.35
Maximum % of KEX by which supply can increase over the period of 1 year
max_proposal_title_size
uint64
128
Maximum title size in the proposal
max_proposal_description_size
uint64
1024
Maximum description size in the proposal
max_proposal_poll_option_size
uint64
64
Maximum option size in the proposal
max_proposal_poll_option_count
uint64
128
Maximum possible choices in the proposal
max_proposal_reference_size
uint64
512
Maximum reference size in the proposal
max_proposal_checksum_size
uint64
128
Maximum checksum size in the proposal
min_dapp_bond
uint64
1000000
-
max_dapp_bond
uint64
10000000
-
dapp_liquidation_threshold
uint64
-
dapp_liquidation_period
uint64
-
Load more

CLI syntax & examples

Callout icon
Each CLI command and proposal process in KIRA requires specific permissions. These permissions must be added to the account's whitelist or obtained as sudo permissions for direct changes. Refer to the Roles & Permissions documentation for more details. $SIGNER represents the transaction signer's account name or address. For instructions on setting common flags as environment variables, such as $FLAGS_TX and $FLAGS_QR, see the CLI flags configuration section

Governance

Table
Filter
Sort
Subcommand Path
CLI
DESCRIPTION
PERMISSIONS (VOTE/CREATION/SUDO)
Proposes a software upgrade to the Kira Network
Proposes to cancel a previously proposed software upgrade
Proposes to upsert a new token alias in the network
Proposes to upsert new token rates for a specific token pair
Proposes to change the whitelisted and blacklisted tokens on the network
Proposes to unjail a validator that has been jailed
Proposes to reset the ranking of all validators
Proposes to slash a validator for malicious behavior
Proposes to update the spending pool with new funds
Proposes to distribute funds from the spending pool to a specific address
Proposes to withdraw funds from the spending pool
Proposes to upsert a Universal Basic Income (UBI) for the network
Proposes to remove the UBI from the network
Proposes to reset the ranking of all councilors
Proposes to jail councilors for violating the network's rules
Proposes to whitelist an account's permission
Proposes to blacklist an account's permission
Proposes to remove a whitelisted permission from an account
Proposes to remove a blacklisted permission from an account
Proposes to assign a role to a specific account
Proposes to unassign a role from a specific account
Proposes to create a new role with specific permissions
Proposes to remove a role from the network
Proposes to blacklist a role's permission
Proposes to remove a whitelisted permission from a role
Proposes to whitelist a role's permission
Proposes to remove a blacklisted permission from a role
Proposes to set a specific network property
Proposes to upsert data to the network's data registry
Proposes to set poor network messages
Proposes to set the voting_end_time of specific proposal types
Proposes to create a new basket
Proposes to edit an existing basket
Proposes to withdraw surplus funds from a basket
Proposes to send a donation to a specific address
Proposes to update a collective account
Proposes to remove a collective account
Proposes to join a Dapp
Proposes to transition a Dapp to a new state
Proposes to upsert a new Dapp in the network

Transactions

N/A

Queries

sekaid query customgov
network-properties

Query Network Properties

List all network properties and corresponding values using the network-properties command.
Bash
Copy
sekaid query customgov network-properties $FLAGS_QR | jq
Table