How To Deploy A Bitcoin SV Node On Linux

How To Deploy A Bitcoin SV Node On Linux
How To Run Bitcoin SV Node On Linux

Born out of a contentious hard fork and propelled by the pursuit of Satoshi Nakamoto's original vision for Bitcoin, Bitcoin SV has garnered both fervent support and heated debates within the cryptocurrency community.

Running a node is one of the essential steps to joining the Bitcoin SV's network. However, setting up a BSV node can be daunting. To alleviate this challenge, we have put all the necessary information in this article to help you successfully deploy your Bitcoin SV node on Linux.

As always, we recommend you conduct a thorough analysis before proceeding further.

Bitcoin SV Node: An Overview

Bitcoin SV: A Brief Story

Conflicts can be disruptive and divisive but often serve as catalysts for change and innovation. This is the case for both Bitcoin Cash and Bitcoin Satoshi Vision (BSV).

Bitcoin SV emerged as a result of deep divisions within the Bitcoin Cash community, particularly between Bitcoin ABC and nChain, supported by the major mining pool CoinGeek.

In contrast to Bitcoin ABC's approach to Bitcoin Cash, Bitcoin SV proponents advocate for scaling the blockchain by increasing the block size without introducing significant protocol changes. Bitcoin SV aims to follow Satoshi Nakamoto's original vision for Bitcoin.

Despite skepticism, Bitcoin SV has grown dynamically with a dedicated community of supporters. Its development efforts continue to advance, driven by the goal of providing a robust, scalable, and secure platform for various applications beyond basic transactions.

What is a Bitcoin SV node?

A Bitcoin SV node is a computer program or software that helps keep the Bitcoin SV network running smoothly. It acts as a communication point for other computers connected to the network and helps validate and transmit transactions and blocks in the Bitcoin SV blockchain.

Unlike other blockchains, running a full node on Bitcoin SV is primarily tailored for miners. While other entities may be considered 'nodes' in an overlay network graph, they do not possess the authority to enforce the Bitcoin protocol. Learn more about Bitcoin SV node.

How To Deploy Bitcoin Cash Node On Linux

It's important to consider whether you truly need a Bitcoin node. Services like mAPI offer transaction processing and information services without requiring a personal Bitcoin node.

Setting up your Bitcoin node with bitcoind is the minimum requirement if you're a miner. Additionally, you may consider deploying Miner ID. Miner ID allows miners to establish a reputation and share relevant information.

To ensure scalability, miners should adopt GetMiningCandidate (GMC) API, which allows mining large blocks without limitations from the RPC interface. Miners still using GetBlockTemplate may encounter issues and fall behind as block sizes increase.

Bitcoin SV Node Requirements

Bitcoin SV Node Requirements for Development (regtest & testnet only):

  • Operating System: Linux, macOS, or Windows.
  • CPU: Dual-core or higher.
  • RAM: 16GB of Ram + 10GB Swap.
  • Disk Space: Around 10 GB for the blockchain data.
  • Network: Stable internet connection.

Bitcoin SV Node Requirements for Production (Minimum):

  • Operating System: Linux (recommended) or Windows.
  • CPU: Quad-core or higher.
  • RAM: 64GB Ram + 64GB Swap
  • Disk Space: Around 500 GB for the blockchain data.
  • Network: Stable internet connection with adequate bandwidth.
  • Storage: Solid State Drive (SSD) is recommended for improved performance.
  • Operating System: Linux (recommended) or Windows.

Bitcoin SV Node Requirements for Production (Recommended - STN Minimum):

  • Operating System: Linux (recommended) or Windows.
  • CPU: Hexa-core or higher.
  • RAM: 64GB Ram + 64GB Swap
  • Disk Space: Around 1 TB for the blockchain data.
  • Network: Stable internet connection with high bandwidth.
  • Storage: Solid State Drive (SSD) or better for optimal performance.
  • Hardware Security Module (HSM): Recommended for enhanced security.
  • Redundancy: Multiple nodes for fault tolerance and high availability.

Note: These requirements are only relevant at the time of writing. It is recommended to monitor the node's resource usage and adjust the hardware specifications accordingly. Update the latest system requirements here.

How to Set Up a Bitcoin SV Node on Linux

The following guide will show you how to deploy a Bitcoin SV node on Linux.

Make sure you have administrative privileges to install software as the root user. You can use the 'su' or 'sudo' command to gain the necessary permissions.

Step 1: Set up a system

  • Ensure you have a Linux-based operating system installed on your machine.
  • Open a terminal window.

Step 2: Download the Bitcoin SV Node software

  • Download the zipped release of Bitcoin SV Node. In this guide, we will use version 1.0.9, the latest release at the time of writing. You can check the latest release here.
Download Bitcoin SV Node Software
Download Bitcoin SV Node Software
  • Verify the integrity of the downloaded file by comparing its SHA256 hash with the provided hash. Use the following command to calculate the hash:

$ sha256sum bitcoin-sv-1.0.9-x86_64-linux-gnu.tar.gz

  • Compare the calculated hash with the one provided on the Bitcoin SV website to ensure the file hasn't been tampered with.
  • Extract the downloaded archive using the "tar" command. This will create a directory named "bitcoin-sv-1.0.9" containing the Bitcoin SV Node software. Use the following command:

$ tar xvf bitcoin-sv-1.0.9-x86_64-linux-gnu.tar.gz

  • For convenience and easier updates, create a symbolic link named 'bitcoin' that points to the extracted directory. Use the following command:

$ ln -s bitcoin-sv-1.0.9 bitcoin

  • Create a directory named 'bitcoin-data' to store the Bitcoin data. Bitcoin will use the '~/.bitcoin' directory by default, but it is recommended (by the Bitcoin SV) to use a separate directory in this example. Use the following command:

$ mkdir bitcoin-data

Step 3: Configuration

  • Create a configuration file named 'bitcoin.conf' inside the 'bitcoin-data' directory to customize the settings for your node. Use the following command:

$ cd bitcoin-data/

$ vim bitcoin.conf

  • You can use any text editor to create and edit the configuration file. Customize the settings according to your requirements.

Step 4: Run the latest version of Bitcoin SV using Docker

  • Follow the actions and commands.
Run the Bitcoin SV Docker containerdocker run bitcoinsv/bitcoin-sv
Run the container in the background with a namedocker run -d --rm --name bitcoind bitcoinsv/bitcoin-sv
View running containersdocker ps
View logs of a running containerdocker logs -f bitcoind
Stop a running containerdocker stop bitcoind
Start a stopped containerdocker start bitcoind
Configure the server with argumentsdocker run --name bitcoind-testnet bitcoinsv/bitcoin-sv bitcoind -testnet
Persist blockchain data using a data volumedocker run -d --rm --name bitcoind -v bitcoin-data:/data bitcoinsv/bitcoin-sv
Map the data volume to a host machine locationdocker run -d --rm --name bitcoind -v $PWD/data:/data bitcoinsv/bitcoin-sv
Share networking between containers for bitcoin-clidocker run -d --rm --name bitcoind -v bitcoin-data:/data bitcoinsv/bitcoin-sv
Use bitcoin-cli in a shared network containerdocker run --rm --network container:bitcoind bitcoinsv/bitcoin-sv bitcoin-cli getinfo
Create a user-defined network and run containers on itdocker network create bitcoin<br>docker run -d --rm --name bitcoind -v bitcoin-data:/data --network bitcoin bitcoinsv/bitcoin-sv<br>docker run --rm --network bitcoin bitcoinsv/bitcoin-sv bitcoin-cli -rpcconnect

Frequently Asked Questions

How long does it take for a Bitcoin SV node to sync with the network?

The answers can vary depending on factors such as the speed of your internet connection, your computer's hardware specifications, and the BSV blockchain's current size. It can take several hours or even days, as the node needs to download and validate all historical transactions and blocks.

Can I run a Bitcoin SV node on low-power devices?

While running a Bitcoin SV node on low-power devices is technically possible, it is not ideal. Such devices' limited processing power, memory, and storage capacity can significantly impact node performance and synchronization time.

Read more