I've set up a private PoA (aura) network using parity-deploy and was wondering how it's possible to add/remove authorised nodes without doing a hard-fork of the network.

I've heard about people storing them in a smart contract, however I have not found any documentation on how to do this. Any pointer in the right direction would be greatly appreciated!


1 Answer 1


There is now detailed documentation available on the official docs.parity-deploy with the aura parameter seems to deploy a Validator Set contract.

The details on how to add/remove validators with Validator Set contracts are given here. Essentially, each node has a set of validators which it supports. Validators are part of the network as long as at least half of all nodes support them.

By using the function addValidator of the RelaySet contract (part of the Validator Set contracts), you can add a validator, as shown in detail here. You can remove support and report misbehaviors. An example for this is given here. Essentially, a Dapp monitors other nodes and if they are down, sends a transaction to the reportBenign function of the RelaySet contract. This function must be called twice to fully remove support - this way a node may change its mind after the first report by calling absolveFirstBenign.

Initially you need to find the address of the contract to conduct any transactions. According to parity-deploy documentation, you should be able to find the relevant addresses in the deployment folder's authority.toml.

  • Happy to accept your answer if you summarise what's in the docs (for the sake of other people searching this).
    – Adam B
    Commented Jul 5, 2018 at 15:09
  • I have updated the reply to include detailed info on the necessary ABI calls
    – Sigmatics
    Commented Nov 3, 2019 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.