Documentation Index
Fetch the complete documentation index at: https://docs.kynesys.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Walks through the full upgradable-network flow from a fresh wallet:- Connect + fund
- Stake as a validator
- Raise a
networkFeeproposal - Vote on the proposal
- Wait for tally + activation
- Verify a fresh tx carries the new fee
0. Connect
1. Stake
getValidators() with
status = "2" (ACTIVE).
2. Propose a parameter change
3. Vote
Each validator in the snapshot set runs:4. Wait for tally + activation
The proposal transitions automatically:- At
snapshotBlock + VOTING_WINDOW_BLOCKS(100 by default) the chain tallies. Status flipspending → activatingif 2/3 supermajority, elserejected. - At
effectiveAtBlockthe chain folds the new value intoNetworkParameters. Status flipsactivating → active.
5. Verify a fresh tx carries the new fee
The SDK fetchesgetNetworkParameters() at sign-time, so any
transaction signed after activation carries the new networkFee:
Troubleshooting
Vote rejected: 'Voter is not in the snapshot validator set'
Vote rejected: 'Voter is not in the snapshot validator set'
Your validator registered after the proposal’s
snapshotBlock.
The snapshot is taken at proposal-confirmation time and is final —
validators added later don’t get to vote on this specific proposal.Proposal rejected: 'Proposer already has an open proposal'
Proposal rejected: 'Proposer already has an open proposal'
A validator can have at most one
pending/activating proposal at
a time. Wait for the previous one to land (active/rejected) or
the next-block proposer to fill its slot.Proposal rejected: 'parameter X is locked by proposal Y'
Proposal rejected: 'parameter X is locked by proposal Y'
Two
pending/activating proposals cannot target the same key
simultaneously. The lock releases when the earlier proposal finalises.Insufficient balance for stake
Insufficient balance for stake
The minimum stake is governed by
MIN_VALIDATOR_STAKE env / Phase 1
minValidatorStake parameter. Default is 10^18. Top up your
address before staking.