Symbol 0.10.0.4 Testnet - resolving forks (30/12/2020)

Hi all,

The Test team have made good progress getting more nodes over onto the correct fork on Testnet, as you will be able to see here: https://symbolnodes.org/nodes_testnet, the incorrect fork has also stalled at block 261647 at the time of writing so anything above that is the correct fork.

The NGL nodes are now all one one fork and other nodes have joined ours on that fork with a resync, so there should be sufficient weight there to allow just a normal resync to fix the node.

So if you have a node that is showing a block height of 261647, it is more likely than not on the wrong fork and should be resynchronised.


Normal Method

If using Bootstrap the commands below should fix it for you via a normal resync:

  1. Stop the node

  2. Run: npm install -g [email protected] this should replace your current version with an Alpha build that is version 0.3.2-alpha (if you run it and it doesnt say that, stop because you will be on an old version of bootstrap), the output is likely to look something similar to the below:

  1. Run: symbol-bootstrap start -p testnet -a dual --resetData (the -resetData will reset target etc but not touch the keys) and let the sync run, it should get you onto the correct fork, if the number is the same as the NGL nodes at https://symbolnodes.org/nodes_testnet then you are on the right one (our nodes end with symboldev.network) Opening Line also have 12 nodes on the same fork at present, props @DaokaTrade

Force Method

If after trying a normal resync, it doesn’t work and you are still on the incorrect fork, then the below should force a node to sync of one of our known good nodes, it would be helpful if people can try the normal sync first to avoid the nodes getting overloaded and also to let the Testnet recover as it should do via normal running, it is a good process to see work as well as part of testing:

  1. Stop the node

  2. Run: npm install -g [email protected] this should replace your current version with an Alpha build that is version 0.3.2-alpha (if you run it and it doesnt say that, stop because you will be on an old version of bootstrap), the output is likely to look something similar to the below:

  1. Run: symbol-bootstrap config -p testnet -a dual -r (the -r will reset and delete target etc)

  2. Change the settings below in the config-extensions-server.properties file
    extension.nodediscovery = false This will set the server to use a list of known nodes

  3. Run: symbol-bootstrap start -p testnet -a dual and let the sync run, it should get you onto the correct fork, if the number is the same as the NGL nodes at https://symbolnodes.org/nodes_testnet then you are on the right one (our nodes end with symboldev.network) Opening Line also have 12 nodes on the same fork at present, props @DaokaTrade

  4. Stop the node, change the setting back to extension.nodediscovery = true

  5. Start the node again

13 Likes

Great carry on

The AllNodes team have now resynchronised their nodes on the correct fork as well from the look of the current status.

We now have the vast majority of nodes on the correct fork so synchronising should be a lot easier generally

4 Likes

Even by a normal node reboot
It looks that there is a high possibility that it can be fixed
My node was able to join correct chain by rebooting

2 Likes

Good morning everyone, good afternoon!
By the morning, 3 out of 3 nodes went “the right way” and synchronized completely without a fork!

4 Likes