P-Chain Disable Validator
Practical - disable a validator at the P-Chain level.
We can directly disable a validator on the P-Chain using the DisableL1ValidatorTx
transaction and without needing to go through the VMC flow.
Why Direct P-Chain Disabling Exists
The direct disable flow is crucial for possible emergency situations like:
- The L1 goes down or becomes unreachable
- The Validator Manager Contract (VMC) is down or malfunctioning
- Something in the system is malfunctioning and immediate action is needed
These issues all become critical when the owner of the validators needs to retrieve their validator P-Chain AVAX used to keep it running (e.g; they deposited 1000 AVAX to never have to worry about topping up balances and now can't get it back)
How It Works
Direct P-Chain Transaction: You can issue a DisableL1ValidatorTx
directly on the P-Chain to disable any validator without interacting with the L1's Validator Manager contract at all.
Weight Preservation: When a validator is disabled this way, their weight still counts towards the L1's total weight - they're just inactive.
Re-activation: Disabled validators can be re-activated at any time by increasing their balance with an IncreaseBalanceTx
. Anyone can call this transaction for any validator on the P-Chain.
Key Management: When a validator is disabled, the keys are no longer stored on disk, providing additional security.
Permanent Removal Requires Contract: To completely and permanently remove a validator from the set, you still need to call initiateValidatorRemoval()
through the contract flow
Chapter Conclusion
Throughout this chapter, we've explored the complete validator lifecycle - from adding validators through the VMC, modifying their weights, removing them properly, and handling emergency situations with direct P-Chain disabling.
This is all you will need to know in order to manage the validator set of your permissioned L1.
Appendix: Direct P-Chain Disable Flow
Is this guide helpful?