I need to get my pre-fork BCH and the only way to do this turned out to be through Bitcoin ABC client. How do I switch from a Bitcoin Core node installed on Ubuntu to a Bitcoin ABC node and again to Bitcoin Core. Do I need to remove the node completely every time I am switching to another node? I guess both types of nodes can use the same blockchain data (up to the date of the fork) so it would be great to avoid downloading 150GB of data every time. I am new to Ubuntu so I would appreciate clear instructions. Thanks!


While you can feed the Bitcoin Core blockchain to Bitcoin ABC, the blockchain will be changed by Bitcoin ABC. So you will need two copies of the blockchain if you wish to also run Bitcoin Core.

Also, unfortunately, you can not easily run these two clients side-by-side. If you try to install Bitcoin ABC it will install itself over Bitcoin Core and use the same config file. The only solution is some kind of containerization. You can do this by using a second computer. I'm doing it by installing a second Ubuntu into a virtual machine. I use KVM/QEMU with Virt-Manager. Then I install Bitcoin ABC into that virtual machine. I keep a second copy of the blockchain on my host machine and mount that via NFS. Simply add to your /etc/fstab something like: /home/User/BitcoinCash nfs hard,timeo=14 0 0

Note that is the default address at which your host machine can be reached. See here.

So far this has worked and I have been able to sync up to the fork, but beyond that I am having some trouble which I am asking about here. [I am now able to complete the sync. See that link. Be sure that when copying the .bitcoin directory for use with Bitcoin ABC, you delete the chainstate/ directory and the blocks/{blk,rev}*.dat that contain blocks beyond the fork, or the client will freeze.]

Note also that you should be careful about the wallet that you feed to Bitcoin ABC. Do not feed it your Bitcoin wallet if you have anything left in it. First, transfer everything out to a second wallet. Then give Bitcoin ABC your first wallet. Since that first wallet had BTC in it at the fork, those BTC will become BCC even though somewhere post-fork the wallet becomes empty. The reason to transfer your BTC out of the wallet to a second one, is that you never want to trust a second piece of software, in this case Bitcoin ABC, with the keys that could give it access to your (classic) bitcoins.

Not the answer you're looking for? Browse other questions tagged or ask your own question.