BitcoinABC (bitcore patches)

Installation and configuration of the bitcoin node.

Introduction

To set up the complete environment the Bitcoind default indexes and RPC calls are not enough to provied all the information that it's needed. So a modified version of the BitcoinABC client is going to be used, this version adds 4 new indexes to the database and new RPC calls.

Installation

Requirements:

  • Common building tools for the ABC node

sudo apt-get install git build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
  • Boost lib:

 sudo apt-get install libboost-all-dev
  • BerkeleyDB:

sudo apt-get install libdb-dev libdb++-dev
  • ZMQ:

sudo apt-get install libzmq3-dev

Clone and build:

The last version of BitcoinABC + bitcore patches is here: https://github.com/hanchon/bitcoin-abc-insight

git clone https://github.com/hanchon/bitcoin-abc-insight.git
cd bitcoin-abc
./autogen.sh
./configure
make -j4

Configuration file:

All the configurations set in this example MUST be set for Bitcore to work. All indexes must be ON, the ZMQ announcements must be configured, and also the RPC configuration must be explicit (Only the RPC port is optional).

The usecashaddr=0 is needed for the NOMP (mining pool) to work, the mining pool does not have support for cashaddr so the node must work using the legacy format.

txindex=1
addressindex=1
spentindex=1
timestampindex=1
server=1
zmqpubrawtx=tcp://127.0.0.1:28332
zmqpubhashblock=tcp://127.0.0.1:28332
rpcuser=hanchon
rpcpassword=hanchonpass
rpcport=18332
testnet=1
usecashaddr=0
#greatwallactivationtime=1550505000

If you are going to test the HardFork network, the greatwallactivationtime MUST be uncommented and set to the activation time that you want to test.

Initial Blockchain Download (IBD)

After creating the configuration file, it's time to download the blockchain. This version has 4 indexes so BitcoinABC backups are not going to work for this version, the databases are not compatibles, so a complete download is needed.

Inside your bitcoin-abc folder run:

./src/bitcoind

The -printtoconsole parameter can be used to see the log in the terminal. If you are running the node without printtoconsole, the current height can be checked using RPC calls, bitcoin-cli or checking the debug.log file.

After downloading the complete chain, the node can be shutdown.

References

Last updated