0

Just like the title, how do I install hard fork of Bitcoin, such as Bitcoin Cash or Bitcoin Gold?

I would like to install Bitcoin Cash core in Ubuntu 16.04. It seems like there is not a single authoritative implementation according to this answer from "Install Bitcoin and Bitcoin cash".

But, I feel really confused by the name of "BitcoinABC" and "BitcoinUnlimited".

Are they just two different command line interfaces for Bitcoin Cash like Geth and Parity when installing Ethereum?

OR

Are they just two different ways to install Bitcoin Cash? Are they synchronizing the same blocks from bitcoin network?

I have been searching and trying to clarify things that I don't understand.

More I search, more I feel confused.

Does any know about this? I will be appreciated if you clarify things that you feel what I don't know about.

2 Answers 2

2

I agree with you, that from a marketing standpoint, the different names used by the various implementations of the Bitcoin Cash fork are confusing.

First, let's understand what a fork is. The rules about what constitutes a valid block, to be added to a blockchain, are set in the program code which miners follow. They compete to be the next to validate a transaction block and add it to the blockchain. A fork occurs when these rules are changed by some, in a way which is incompatible with the old rules. A subset of miners starts following the new rules, and the rest of the miners keep following the old rules. The result is that each group of miners starts building distinct chains which fork from a common ancestor chain. So, if someone holds coins the original common ancestor chain, those coins are now valid on both forks, and can be spent once in each fork. This is because as far as one chain is concerned, spends on the other chain are not visible - they don't exist.

The main difference between original Bitcoin and Bitcoin Cash is that the Bitcoin Cash chain allows transaction blocks to be up to 8 MiB in size, instead of being limited to 1 MiB.

To install the Bitcoin Cash fork, one way is with Bitcoin ABC, "a full node implementation of the Bitcoin Cash protocol". In other words, Bitcoin ABC follows the rules of the Bitcoin Cash fork. In the Ubuntu 16 "Xenial Xerus" command line:

# git clone https://github.com/Bitcoin-ABC/bitcoin-abc.git

This clones the official Bitcoin-ABC repository into your machine. Instructions for installing all the pre-requisite pacakges needed to compile the programs will be in ~/bitcoin-abc/doc/build-unix.md; read this file and make sure your machine is ready for compilation:

# ./autogen.sh 
# ./configure
# make

Note: on a mult-core CPU machine, you may use 1.5x the number of cores to speed up compilation. For example, on a 4-core machine:

# make -j 6

Now, in the ~/bitcoin-abc/src directory, after compilation, you will have the server binary: bitcoind, the client: bitcoin-cli and another binary to create, parse, or modify transactions: bitcoin-xt. For convenience, you can copy these to a folder visible to all users, such as /usr/local/bin

sudo cp ~/bitcoin-abc/src/bitcoind /usr/local/bin
sudo cp ~/bitcoin-abc/src/bitcoin-cli /usr/local/bin
sudo cp ~/bitcoin-abc/src/bitcoin-tx /usr/local/bin

Then, as a regular user, create the .bitcoin folder

mkdir ~/.bitcoin

and create a bitcoin.conf file

vim ~/.bitcoin/bitcoin.conf

#------------------------------
server=1
daemon=1
listen=1
maxconnections=16

rpcuser=bitcoin.rpc
rpcpassword=<some-secret-password>
rpcport=12345
keypool=256
#-------------------------------

Then you can run the bitcoind binary.

#bitcoind

and start using it via the command line client

#bitcoin-cli getinfo

{
  "version": 160200,
  "protocolversion": 70015,
  "walletversion": 60000,
  "balance": 1.61803398,
  "blocks": 504043,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 136961411965.4142,
  "testnet": false,
  "keypoololdest": 1376702008,
  "keypoolsize": 4096,
  "unlocked_until": 0,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}
5
  • Thank you so much for your great explanation. Especially, when you explain about general concept of what a fork is and how it works. Do you know if there are any differences between installing from Bitcoin ABC and Bitcoin Unlimited? According to Bitcoin Unlimited website, they guide users how to download Official Bitcoin Cash (BCH). So, I installed it in my Ubuntu server. bitcoin-cli getinforeturns the output like below.
    – JayB Kim
    Dec 1, 2017 at 8:14
  • { "version": 1010200, "protocolversion": 80003, "walletversion": 60000, "balance": 0.00000000, "blocks": 85013, "timeoffset": 0, "connections": 12, "proxy": "", "difficulty": 1378.028165037326, "testnet": false, "keypoololdest": 1512105032, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00001000, "errors": "", "fork": "Bitcoin" }
    – JayB Kim
    Dec 1, 2017 at 8:14
  • I really want to give you a vote, but I don't have qualification yet to vote.
    – JayB Kim
    Dec 1, 2017 at 8:19
  • If you think I answered your question, you can select my answer as the accepted answer by clicking on the check mark beside the answer to toggle it from hollow to green.
    – dbkeys
    Dec 12, 2017 at 12:01
  • In regards to differences between them, there must be some, but both must be generally compatible with the Bitcoin Cash fork specifications. I have not looked at them in detail to point out what these differences might be.
    – dbkeys
    Dec 12, 2017 at 12:03
1

Bitcoin ABC and Bitcoin unlimited are nodes of the main fork of bitcoin cash.

Bitcoin Cash XBC is a "Adjustable Block Size" implementation of the original Bitcoin client, allowing up to 8mb block size. Forked from Bitcoin-ABC and compatible with the Bitcoin Cash blockchain only. All credit for previous engineering work goes to Satoshi Nakamoto, The Bitcoin Core and Bitcoin-ABC development teams.

Bitcoin XBC is the name of this open source software which enables the use of Bitcoin via the ‘Bitcoin Cash’ blockchain.


You can install Bitcoin cash from: https://download.bitcoinabc.org/0.16.1/

2
  • Thank you for your great explanation. So basically the Bitcoin ABC and Bitcoin Unlimited are the same nodes of the main fork of bitcoin cash? If they are different, what would that be? I find out I could install Bitcoin Cash core from these links Bitcoin ABC and Bitcoin Unlimited. I installed from Bitcoin Unlimited download link a minute ago, and I am trying to get my foot in the door to discover the differences by looking at the commands from bitcoin-cli help
    – JayB Kim
    Dec 1, 2017 at 5:41
  • 1
    Yes, Bitcoin ABC and Bitcoin Unlimited are two implementations of nodes that connect to the Bitcoin Cash fork.
    – dbkeys
    Dec 12, 2017 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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