Skip to main content

Proposing a New Root Node List

When to Propose a New Root Node List?

On the preceding page, we learned how to compare the on-chain root node list with the active layer-0 root node list. Ideally, there should be no differences between the on-chain list and the layer-0 root node list. However, changes to the root node panel on-chain (such as the addition or removal of a Root Node) can lead to discrepancies between the on-chain root node list and the layer-0 root node list.

Let's take a closer look at an example:

The object active, under Diff:, lists all the addresses from the active layer-0 root node list that are absent from the on-chain list. Conversely, the object onchain records, under Diff:, all addresses from the on-chain list that are missing from the layer-0 list.

[{
Diff: null,
Name: "active"
}, {
Diff: ["0xf691ea2e16b1017ce4893c2d2b91e745a3e501ad"],
Name: "onchain"
}]

In this output, the address 0xf691ea2e16b1017ce4893c2d2b91e745a3e501ad is present in the on-chain root node list but is not found in the active layer-0 root node list. This typically signifies the addition of a new root node to the on-chain root node panel.

If you encounter a discrepancy between the active and the onchain lists, you should propose a new layer-0 root node list that incorporates the changes made on the on-chain panel.


Step-by-Step Guide

  1. Connect to your root node server. How you do this might differ depending on your setup. For instance, Mac users can use the “terminal” application to set up an SSH connection to their server instance, while Windows users can use PuTTy or Powershell. You could also use your server hosting provider's management system to access your server console. If you experience problems during this step, contact a core team member.
  2. Go to the /rootnode directory. To accomplish this task, copy and paste the following command into your console and press enter to execute it:
cd mainnet-public-tools/rootnode
  1. Access the q-client console by executing this command (you might need to add sudo before that, depending on what rights your current user has):
docker-compose exec rootnode geth attach data/geth.ipc
  1. To propose a new root node list based on the current on-chain list execute this command:
gov.proposeOnchainRootList()