Guidance on Qtum Deployment
Guidance on Qtum Deployment
Overview
This guide covers deploying, running, and making RPC calls to a Qtum node. It assumes basic familiarity with command-line interfaces on Linux, macOS, or Windows. For GUI wallet usage, refer to the Qtum Wallet Tutorial.
Getting Qtum Node
1. Download Prebuilt Binaries
The simplest method is downloading the latest binaries from the Qtum releases page. Binaries are available for Linux, Windows, macOS, and Raspberry Pi.
Current stable version: 29.1 (based on Bitcoin Core 29.1)
Available platforms:
macOS:
qtum-{version}-arm64-apple-darwin.dmg(Apple Silicon) orqtum-{version}-x86_64-apple-darwin.tar.gz(Intel)Linux:
qtum-{version}-x86_64-linux-gnu.tar.gz(64-bit) orqtum-{version}-aarch64-linux-gnu.tar.gz(ARM64)Windows:
qtum-{version}-win64.zip(64-bit) orqtum-{version}-win32.zip(32-bit)Raspberry Pi:
qtum-{version}-arm-linux-gnueabihf.tar.gz
After extraction, qtumd and qtum-cli binaries will be located in <install-path>/bin/.
2. Package Manager Installation (Ubuntu Linux)
Ubuntu, Debian, and Mint users can install via apt repository:
Raspberry Pi users can also use apt. See the Raspberry Pi installation guide.
After installation, qtumd and qtum-cli are available system-wide.
3. Build from Source
For the latest development version, clone the repository and build using CMake:
Build Prerequisites
Qtum uses CMake for its build system (migrated from Autotools in Bitcoin Core 29.1). Detailed instructions are available in the repository:
Linux: build-unix.md
macOS: build-osx.md
Windows: build-windows.md
Minimum CMake version required: 3.22
macOS Build Example
How to Run Qtum-Qt.app with a Self-Signed Certificate on macOS
If you have downloaded Qtum-Qt.app and want to run it on macOS, you may encounter security restrictions. This guide provides specific instructions for using a self-signed certificate to allow Qtum-Qt.app to run.
Steps
1. Create a Self-Signed Certificate (Skip if you already have a certificate for code signing)
Open Keychain Access (Applications > Utilities > Keychain Access).
In the Keychain Access menu, select Certificate Assistant > Create a Certificate.
Enter a name for your certificate (e.g., "Qtum Certificate").
Set Identity Type to Self-Signed Root.
Set Certificate Type to Code Signing.
Click Create to generate the certificate.
2. Sign the Qtum-Qt.app Application
Open Terminal.
Use the following
codesigncommand to signQtum-Qt.appwith the newly created certificate:Replace "Qtum Certificate" with the name of your certificate, and ensure /path/to/Qtum-Qt.app/ points to the actual location of the app on your system. Remove Qtum from MacOS Quarantine:
sudo xattr -rd com.apple.quarantine Qtum-Qt.appOpen Qtum from the Applications menu
*Note: The same procedure can be used to sign qtumd, qtum-cli and other command line binaries.
4. Docker Image
For users with Docker installed, pull the official Qtum image:
For Docker deployment instructions, see How to Launch Qtum with Docker.
Key Binaries
qtumd: Qtum Core daemon (full node)qtum-cli: Command-line interface for RPC callsqtum-qt: GUI wallet application (if built with Qt support)
Deploy Qtum Node
Start the Daemon
This launches qtumd as a background daemon. To enable smart contract event logging, add the -logevents flag:
Additional Options
View all available options:
Stop the Daemon
Data Directory
The default data directory varies by platform:
Linux:
~/.qtum/macOS:
~/Library/Application Support/Qtum/Windows:
%APPDATA%\Qtum\
Use the -datadir option to specify a custom location.
Initial Blockchain Sync
On first launch, Qtum will sync the entire blockchain history. This may take several hours depending on network speed and hardware. Progress and diagnostics are logged to ~/.qtum/debug.log.
Local RPC Calls
With qtumd running, use qtum-cli to interact with the node:
Example output:
List All RPC Commands
Get Help for Specific Commands
JSON-RPC Configuration
Remote RPC Setup
To enable remote RPC access, configure RPC credentials using either method:
Method 1: Configuration File
Create ~/.qtum/qtum.conf:
For more configuration options, see qtum.conf example.
Restart the node after creating or modifying qtum.conf.
Method 2: Command-Line Arguments
JSON-RPC Call Examples
Using curl
Using Postman or Similar Tools
URL:
http://192.168.1.100:3889/Method: POST
Headers:
Content-Type: text/plainAuth: Basic Auth with RPC username/password
Body:
Nginx Reverse Proxy (Optional)
Nginx can simplify remote RPC access by hiding credentials and providing additional security:
Configuration Example
Setup: Qtum node at 192.168.1.100, Nginx proxy at 192.168.1.50
Update qtum.conf on the node:
Configure Nginx on the proxy server:
Make RPC calls through the proxy:
This approach enhances security by centralizing authentication and enabling request filtering.
Useful Resources
Build Documentation:
Configuration:
macOS Specific:
Command References:
CMake Build System:
Official Resources:
Last updated