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

<p>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 <em>fork</em> 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.</p>

<p>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.</p>

<p>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:</p>

<pre><code># git clone https://github.com/Bitcoin-ABC/bitcoin-abc.git
</code></pre>

<p>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:</p>

<pre><code># ./autogen.sh 
# ./configure
# make
</code></pre>

<p>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:</p>

<pre><code># make -j 6
</code></pre>

<p>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</p>

<pre><code>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
</code></pre>

<p>Then, as a regular user, create the .bitcoin folder</p>

<pre><code>mkdir ~/.bitcoin
</code></pre>

<p>and create a bitcoin.conf file</p>

<pre><code>vim ~/.bitcoin/bitcoin.conf

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

rpcuser=bitcoin.rpc
rpcpassword=&lt;some-secret-password&gt;
rpcport=12345
keypool=256
#-------------------------------
</code></pre>

<p>Then you can run the bitcoind binary.</p>

<pre><code>#bitcoind
</code></pre>

<p>and start using it via the command line client</p>

<pre><code>#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": ""
}
</code></pre>

CC BY-SA 3.0
2017-12-01T08:14:43.380Z
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](https://www.bitcoinunlimited.info/download), they guide users how to download Official Bitcoin Cash (BCH). So, I installed it in my Ubuntu server.

```bitcoin-cli getinfo```returns the output like below.
JayB Kim
CC BY-SA 3.0
2017-12-01T08:14:51.357Z
{
  "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
CC BY-SA 3.0
2017-12-01T08:19:58.660Z
I really want to give  you a vote, but I don't have qualification yet to vote.
JayB Kim
CC BY-SA 3.0
2017-12-12T12:01:09.537Z
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
CC BY-SA 3.0
2017-12-12T12:03:22.177Z
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
CC BY-SA 3.0
2017-12-01T06:40:47.173Z
2017-12-01T06:40:47.173Z
dbkeys
<p>Bitcoin ABC and Bitcoin unlimited are nodes of the main fork of bitcoin cash. </p>

<blockquote>
  <p>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.</p>
  
  <p>Bitcoin XBC is the name of this open source software which enables the
  use of Bitcoin via the ‘Bitcoin Cash’ blockchain.</p>
</blockquote>

<hr>

<p>You can install Bitcoin cash from: <a href="https://download.bitcoinabc.org/0.16.1/" rel="nofollow noreferrer">https://download.bitcoinabc.org/0.16.1/</a></p>

CC BY-SA 3.0
2017-12-01T05:41:46.027Z
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](https://download.bitcoinabc.org/0.16.1/) and [Bitcoin Unlimited](https://www.bitcoinunlimited.info/download). 

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
CC BY-SA 3.0
2017-12-12T11:48:09.837Z
Yes, Bitcoin ABC and Bitcoin Unlimited are two implementations of nodes that connect to the Bitcoin Cash fork.
dbkeys
CC BY-SA 3.0
2017-12-01T04:11:35.793Z
2017-12-01T04:11:35.793Z
Tailer
<p><strong>Just like the title, how do I install hard fork of Bitcoin, such as Bitcoin Cash or Bitcoin Gold?</strong></p>

<p>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 <a href="https://bitcoin.stackexchange.com/questions/60271/install-bitcoin-and-bitcoin-cash">"Install Bitcoin and Bitcoin cash"</a>.</p>

<p>But, I feel really confused by the name of "BitcoinABC" and "BitcoinUnlimited". </p>

<p>Are they just two different command line interfaces for Bitcoin Cash like <a href="https://github.com/ethereum/go-ethereum/wiki/geth" rel="nofollow noreferrer">Geth</a> and <a href="http://parity.io/" rel="nofollow noreferrer">Parity</a> when installing Ethereum? </p>

<p>OR</p>

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

<p>I have been searching and trying to clarify things that I don't understand. </p>

<p>More I search, more I feel confused. </p>

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

<bitcoin-cash><bitcoin-unlimited><implementation>
How to install Hard Fork of Bitcoin, such as Bitcoin Cash and Bitcoin Gold?
JayB Kim
# How to install Hard Fork of Bitcoin, such as Bitcoin Cash and Bitcoin Gold?

(Asked by: username_0 on 2017-12-01)

**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"](https://bitcoin.stackexchange.com/questions/60271/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](https://github.com/ethereum/go-ethereum/wiki/geth) and [Parity](http://parity.io/) 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.

**Tags:** bitcoin-cash, bitcoin-unlimited, implementation


---

## 2 answers

### Answer by username_1 on 2017-12-01. Score: 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": ""
}

```

> **Comments:**
> **username_0**: 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](https://www.bitcoinunlimited.info/download), they guide users how to download Official Bitcoin Cash (BCH). So, I installed it in my Ubuntu server.  ```bitcoin-cli getinfo```returns the output like below.  
> **username_0**: {   "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" }  
> **username_0**: I really want to give  you a vote, but I don't have qualification yet to vote.  
> **username_1**: 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.  
> **username_1**: 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.  

---

### Answer by username_2 on 2017-12-01. Score: 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/>

> **Comments:**
> **username_0**: 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](https://download.bitcoinabc.org/0.16.1/) and [Bitcoin Unlimited](https://www.bitcoinunlimited.info/download).   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```  
> **username_1**: Yes, Bitcoin ABC and Bitcoin Unlimited are two implementations of nodes that connect to the Bitcoin Cash fork.  

---

