This post explains how to get access to your Bitcoin Cash (BCC/BCH) coins if you held your bitcoins in the official Bitcoin Core wallet during the chain split that occured August 1st 2017 at 12:20 UTC. To do so we will use the official Bitcoin ABC wallet as the receiver of our Bitcoin Cash coins.
It took me quite some time to figure out how to split those coins so I decided to write this short guide to help other people out that are in the same situation. The guide is based on the steps outlined by Greg Maxwell on Bitcointalk.org.
So let’s get started.
Send the Bitcoins to another Wallet You Control
The idea behind this is to transmit your bitcoins to a completely different wallet you control so that if anything goes wrong while retrieving your Bitcoin Cash coins, at least your bitcoins are safely stored in another location.
One thing to note is that as this transaction is being done after the August 1st split, the transaction will be valid on the Bitcoin (Core) chain but not on the Bitcoin Cash chain, as those chains have forked. So the bitcoins will be transferred but not the Bitcoin Cash coins.
You could send the bitcoins to a different PC with Bitcoin Core installed, but I simply sent my bitcoins to my Kraken account. This is less secure but I trust Kraken enough to hold my bitcoins for at least the time required to split the coins.
Import the Bitcoin Core Wallet into the Bitcoin ABC Wallet
Basically, the Bitcoin ABC wallet is a modified clone of the Bitcoin Core wallet, and so their data files are compatible. However there are some tweaks required to have Bitcoin ABC properly use Bitcoin Core’s files.
Copy Bitcoin Core’s Data Directory
On the PC which has the Bitcoin Core wallet installed, start Bitcoin Core, then select Help->Debug in the menu and select the Information tab. The data directory that contains the wallet’s data files is visible. Your directory may be different than mine:
Now stop Bitcoin Core, then copy that data directory to the PC where you want to install Bitcoin ABC. The amount of data to copy is quite large (+- 140 GB at the time of this writing), so you’ll need to copy the data directory via the local network if you have one available or use an external USB drive with enough capacity.
Delete peer.dat Files
Once the data directory has been copied, open it on the new PC, locate the peer.dat file(s) and delete it/them. Those files contains the addresses of other Bitcoin wallets on the network, which are invalid for Bitcoin Cash and so we must delete those files.
Download and Install the Bitcoin ABC wallet
The next step is to download the Bitcoin ABC wallet and install it on the second PC. As I use Windows, I simply downloaded the file called bitcoin-0.14.6-win64-setup-unsigned.exe in the download section of the BitcoinAbc web site.
Start the installation program and follow its directions. When the installation completes, let the installation program start Bitcoin ABC.
When Bitcoin ABC starts it asks for where to store its data directory. Choose Use a custom data directory and select the data directory you copied earlier (in ly case D:\Cache\BitcoinAbc), and click OK:
Completing the Synchronization
The main window of Bitcoin ABC opens and it tries to synchronize with the network:
However, the synchronization is stuck because the data directory contains blocks from the Bitcoin Core wallet created after the fork, and those blocks need to be invalidated so that Bitcoin ABC discards them and downloads the correct ones from its own network. So do the following:
- Open the debug console (found in the menu under Help->Debug), and select the Console tab.
- At the bottom of the console tab, type in the following command: invalidateblock 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148 followed by Enter:
Bitcoin ABC should now synchronize the Bitcoin Cash blocks created after the fork from its own network.
At this stage, I have to admit that the synchronization process got stuck again after some time. I had to kill Bitcoin ABC and restart it. It then proceeded to synchronize the remaining blocks however.
Abandoning the Last Transaction
At this point, the Bitcoin ABC wallet should have completely synchronized. But to my dismay, it displayed that I had 0 BCC available in my balance. It seemed the last transaction where I sent all my BTC from Bitcoin Core to Kraken was also duplicated in Bitcoin ABC. Not good.
But I noticed that last transaction was grayed out. I also noticed that the last transaction’s value was delimited by square brackets:
When clicking on the Transactions tab, then right-clicking the last transaction, it appears that transaction has the status Open for xyz more blocks:
So this transaction hasn’t been confirmed on the Bitcoin Cash blockchain, and never will be.
What you can do now is close the details window for that transaction and do a right-click on that transaction in the transaction list. In the popup menu that appears, toward the bottom of the menu, an Abandon transaction menu item should be available:
Click that Abandon transaction menu item.
Bitcoin Cash Finally Available
Voilà! The last transaction you did on the Bitcoin Core blockchain should be abandoned and won’t be taken into account by the Bitcoin ABC wallet anymore. You should now have the full Bitcoin Cash balance available from the time of the fork in your Bitcoin ABC wallet.
Note that the abandoned transaction still stays visible in the Bitcoin ABC wallet but this isn’t really a problem other than it looks ugly.
What About the Old Bitcoin Core Wallet?
At this point, the old Bitcoin Core wallet has no use anymore and should be discarded. So what you can do is open its data directory, back up the wallet.dat file located there just in case, and then delete it.
The next time you start Bitcoin Core it will create a new wallet.dat file, which essentially means you now have a new wallet with completely different addresses and your past transactions are not available anymore.
What I did was to transfer the bitcoins I had stored at Kraken back to this (new) Bitcoin Core wallet.
That’s it. I hope this guide will be useful to others that are also struggling like I did to have access to get their Bitcoin Bash. Good luck!
Please leave your comments below.