> For the complete documentation index, see [llms.txt](https://uthersunlighter.gitbook.io/uthersunlighter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uthersunlighter.gitbook.io/uthersunlighter/fractal-bitcoin.md).

# Fractal Bitcoin

### Installation Instructions for Fractal Bitcoin Node

#### System Requirements

Before you begin, ensure that your server meets the following minimum requirements:

* **Operating System:** Ubuntu 20.04 or later (other Linux distributions may work as well)
* **Processor:** Dual-core CPU
* **RAM:** 4 GB or more
* **Disk Space:** At least 500 GB of free disk space (SSD recommended for better performance)
* **Network Connection:** Stable internet connection with at least 1 Mbps download and upload speed

#### Step 1: Prepare the Server

1. **Update the System:**

   ```bash
   sudo apt-get update -y && sudo apt-get upgrade -y
   ```
2. **Install Required Packages:**

   ```bash
   sudo apt-get install make build-essential pkg-config libssl-dev unzip tar lz4 gcc git jq -y
   ```

#### Step 2: Download and Install Fractal Bitcoin

1. **Download and Extract Fractal Bitcoin:**

   ```bash
   wget https://github.com/fractal-bitcoin/fractald-release/releases/download/v0.1.7/fractald-0.1.7-x86_64-linux-gnu.tar.gz
   tar -zxvf fractald-0.1.7-x86_64-linux-gnu.tar.gz
   cd fractald-0.1.7-x86_64-linux-gnu/
   ```
2. **Create a Data Directory:**

   ```bash
   mkdir data
   cp ./bitcoin.conf ./data
   ```

#### Step 3: Configuration Setup

1. **Edit the `bitcoin.conf` Configuration File:**

   ```bash
   nano ./data/bitcoin.conf
   ```

   Add the following lines:

   ```
   server=1
   rpcuser=your_rpc_username
   rpcpassword=your_rpc_password
   txindex=1
   ```

   Replace `your_rpc_username` and `your_rpc_password` with your own values. Save the changes and close the editor.

#### Step 4: Create a Service File

1. **Create a Service File to Manage the Node:**

   ```bash
   sudo tee /etc/systemd/system/fractald.service > /dev/null << EOF
   [Unit]
   Description=Fractal Node
   After=network-online.target

   [Service]
   User=$USER
   ExecStart=/root/fractald-0.1.7-x86_64-linux-gnu/bin/bitcoind -datadir=/root/fractald-0.1.7-x86_64-linux-gnu/data/ -maxtipage=504576000
   Restart=always
   RestartSec=5
   LimitNOFILE=infinity

   [Install]
   WantedBy=multi-user.target
   EOF
   ```

#### Step 5: Configure the Firewall

1. **Open Port 8333:**

   ```bash
   sudo ufw allow 8333
   sudo ufw enable
   ```

#### Step 6: Start and Monitor the Node

1. **Reload the systemd daemon and enable the service:**

   ```bash
   sudo systemctl daemon-reload
   sudo systemctl enable fractald
   sudo systemctl start fractald
   ```
2. **Check the Node Status:**

   ```bash
   sudo journalctl -u fractald -f --no-hostname -o cat
   ```
3. **Check the Status of Your Node:**

   ```bash
   bitcoin-cli -datadir=/root/fractald-0.1.7-x86_64-linux-gnu/data/ getblockchaininfo
   ```

#### Step 7: Update the Node

Regularly check for updates for Fractal Bitcoin and update your node to ensure its security and performance. To do this, periodically check the [official Fractal Bitcoin repository on GitHub](https://github.com/fractal-bitcoin/fractald-release).

***
