bsc/docs/parlia/README-BEP-127.md

1.9 KiB

BEP-127: Temporary Maintenance Mode for Validators

Temporary Maintenance is supposed to last one or a few hours. The validator seat will be temporarily dropped from the block producing rotation during the maintenance. Since long-time offline maintenance is not encouraged, the validator will still be slashed if the maintenance lasts too long. To lower the impact from poorly-operating validators who forget to claim its maintenance, they will be forced to enter Temporary Maintenance mode too.

  • enterMaintenance: Validator can claim itself to enter scheduled maintenance by sending a transaction signed by the consensus key.
  • exitMaintenance: The validator can claim itself to exit maintenance by sending another transaction.

More details in BEP-127.

How to enter/exit maintenance

Running geth

make sure you have unlocked the consensus address of your validator

Running built-in interactive

$ geth attach geth.ipc

This command will:

  • Start up geth's built-in interactive JavaScript console, (via the trailing console subcommand) through which you can interact using web3 methods (note: the web3 version bundled within geth is very old, and not up to date with official docs), as well as geth's own management APIs.

enter maintenance

web3.eth.sendTransaction({
   from: "consensus address of your validator",
   to: "0x0000000000000000000000000000000000001000",
   data: "0x9369d7de"
})

exit maintenance

web3.eth.sendTransaction({
   from: "consensus address of your validator",
   to: "0x0000000000000000000000000000000000001000",
   gas: "1000000",
   data: "0x04c4fec6"
})