AlveyChain Documents
  • Alveychain Docs
  • Get-Started
    • Alveychain
    • Installation
    • Local Setup
    • Cloud Setup
    • Full Node
    • CLI Commands
    • JSON RPC Commands
    • Performance Reports
  • Configuration
    • Manage private keys
    • Set up Hashicorp Vault
    • Enable Prometheus metrics
  • Working-With-Node
    • Query JSON RPC endpoints
    • Query operator information
    • Backup/restore node instance
  • Consensus
    • Proof of Authority (PoA)
    • Proof of Stake
    • Set up and use Proof of Stake (PoS)
    • Migration from PoA to PoS
  • Additional Features
    • Alveycoin bridge
    • Network stress testing
    • Blockscout
  • Architecture
    • Architecture Overview
    • modules
      • Blockchain
      • Consensus
      • JSON RPC
      • Minimal
      • Networking
      • Other modules
      • Protocol
      • Sealer
      • State
      • Storage
      • TxPool
      • Types
  • Concepts
    • State in Ethereum
  • Community
    • Propose a new feature
    • Report an issue
  • Docs
    • Server Config File
    • how-tos
      • How to set up and use Proof of Stake (PoS)
Powered by GitBook
On this page
  • Overview
  • How to migrate to PoS
  1. Consensus

Migration from PoA to PoS

PreviousSet up and use Proof of Stake (PoS)NextAlveycoin bridge

Last updated 2 years ago

Overview

This section guides you through the migration from PoA to PoS IBFT modes, and vice versa, for a running cluster - without the need to reset the blockchain.

How to migrate to PoS

You will need to stop all nodes, add fork configuration into genesis.json by ibft switch command, and restart the nodes.

alveychain ibft switch --chain ./genesis.json --type PoS --deployment 2000 --from 200

To switch to PoS, you will need to specify 2 block heights: deployment and from. deployment is the height to deploy the ValidatorSet contract and from is the height of beginning of PoS. The ValidatorSet contract will be deployed at the address 0x0000000000000000000000000000000000001001 at the deployment, like as the case of pre-deployed contract.

Please check for more details about ValidatorSet contract.

:::warning Validators need to stake manually Each validator needs to stake after contract is deployed at deployment and before from in order to be a validator at the beginning of PoS. Each validator will update own validator set by the set in the ValidatorSet contract at the beginning of PoS.

To find out more about ValidatorSet, visit the . :::

Proof of Stake
Set up and use Proof of Stake