Skip to content

Instantly share code, notes, and snippets.

@delta1
Last active October 24, 2022 10:29
Show Gist options
  • Save delta1/48df7dc1c731808fd37502f7e13492f5 to your computer and use it in GitHub Desktop.
Save delta1/48df7dc1c731808fd37502f7e13492f5 to your computer and use it in GitHub Desktop.
Elements Blocksigner network split resolution steps

Liquid Dev telegram: https://t.me/liquid_devel/1823

Oscar Pacey, [10/24/22 10:36 AM] Update on my test network failure and fix (c/f @pgreco )

All working again! After breaking my network by accidentally setting half the blocksigners to disable their wallets, I wasn't able to get back in sync. The blocksigners each got onto their own single block height forks and froze. They were unable to communicate their blocks to one another because the border nodes had gone into IBD mode and refused to respond to INV messages.

Solutions:

  1. Use invalidateblock to rewind all nodes to last common block.
  2. Use whitelist=download@1.2.3.4 to enable relay while in IBD
  3. Use getblock + submitblock to manually propogate a new block from one block signer to all nodes
  4. Use checkblockindex=0 on all nodes to stop the performance bomb

Maybe not all steps are needed, depending on specific circumstances.

That was really hard to figure out and I couldnt have done it without all your help. Thanks so much guys - I really appreciate it.

Oscar Pacey, [10/24/22 10:39 AM] To-do comments:

  • It would be nice to have checkblockindex listed in the elementsd ---help info, and also on the elementsproject.org tutorials.
  • It would be helpful to have 'whitelist' accept domain names rather than just IP addresses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment