Fixing alternative blockchain

Paul Bugnot
X-Cash
3 min readOct 12, 2018

--

Dear X-CASH community,

First of all, we would like to apologize for the problem encountered. Although the new update 1.3.0 fixed the difficulty adjustments against NiceHash attacks, the update brought an unexpected bug in the blockchain.

As some of you saw, some pools where running alternative blockchain. This issue was preventing some pool payments and correct wallet synchronization.

We have fixed the pool and network now, rolling back to a block height around 94000 (before the first alternative chain appeared).

Some of you will have trouble synchronizing your wallet. Before attempting to send any transaction you should take the following steps.

If you are using remote node to synchronize

Any of these options synchronizes to the blockchain with a remote node.

If you are using a remote node to synchronize your wallet, next time you open it you should select the second option (Connect to an official remote node from the list) and select the European node: EUSEED2.X-CASH.ORG:18281.

This node is on the right blockchain and will enable you to synchronize the last blocks without any issue.

If you downloaded the blockchain locally

In case you chose the last option (Start a node automatically in the background) or synchronized the blockchain with the Daemon (xcashd), you will have to synchronize again the last blocks of the blockchain to make sure you are on the right chain.

To do so, you have 2 options:

  • Delete the entire blockchain file data.mdb in C:/ProgramData/X-CASH/lmdb (make sure to show hidden folder). Run the 4th option (if you are using GUI) or the Daemon xcashd (if you are using CLI) and wait for the blockchain to synchronize entirely.

This solution works fine but force you to download the entire blockchain (~8 Go) and is not optimal. The second option avoid doing that.

  • Delete the last few thousands block of the blockchain before the alternative chain issue and synchronize them again.

Here is a tutorial on how to do it.

  • Close your GUI wallet or xcashd if they are opened.
  • Run xcash-blockchain-import --pop-blocks 13000

Note: The pop-blocks tag will delete the number of block (here, 13000) from your blockchain file. You will have to change this number depending on the block height the network is on to back up until around block height 94000 (for example, if the network is at block height 107000, you will have to put the tag --pop-blocks 13000 minimum). You can check the blockchain height in the block explorer : https://explorer.x-cash.org/ or https://miningpoolstats.stream/x-cash)

To open xcash-blockchain-import with a tag, first you need to open a command prompt with administrator rights (check this short tutorial to see how to do it).

Then, in the command prompt you need to change the directory to your wallet folder. To do so, type “cd C:\[PathToYourXCASHwalletFolder]” where [PathToYourXCASHwalletFolder] is the path where your wallet is contained.

You can copy the address by right clicking the address bar.

Then run xcash-blockchain-import --pop-blocks 13000 (or the number you find suitable to arrive at height 94000)

This is how the command prompt will look like if the command prompt was executed correctly.

Wait until the process is finished. You should see the new height of your blockchain in the last line after removing the blocks.

Once you have done that, you will need to download the new blocks again.

If you are using CLI: Launch xcashd (with administrator rights) and let the blockchain synchronizes completely. Once it done, run xcash-wallet-cli, open your wallet and type rescan_bc and let it synchronize.

If you are using GUI: Launch the GUI wallet (with administrator rights), open your wallet with the 4th option (Start a node automatically in the background). Let the blockchain synchronize the last blocks, and when the wallet is open to your account summary, go to the settings tab and click on Resync Wallet. Let the wallet synchronize completely. Once it’s finished the wallet will be opened on the account summary page.

--

--