How To Deploy A Qtum Node
Running a Qtum node allows you to participate in achieving consensus on the network, validating transactions, and executing smart contracts. In this guide, we'll provide you with all the necessary instructions to set up your own Qtum node, enabling you to engage with the Qtum blockchain securely and efficiently.
What is a Qtum Node?
The Qtum network relies on nodes to keep everything running smoothly. Nodes play a big role in validating transactions, creating new blocks, and sharing information across the network.
Here are the main types of Qtum nodes and what they do:
Full Nodes:
- They have a complete copy of the Qtum blockchain on your computer.
- They check and approve all transactions to make sure they follow the rules.
- They propose and validate new blocks, contributing to the security and decentralization of the network.
SPV Nodes:
- They are lightweight and don't store the entire blockchain.
- Rely on full nodes to double-check transactions since they don't have all the transaction history.
- They are great for mobile wallets and apps that want to use less storage and bandwidth but stay secure.
Staking Node:
- Qtum uses a Proof-of-Stake system that lets people stake their Qtum coins.
- Staking nodes, which are full, hold Qtum coins and help validate new blocks.
- In return for their contributions, staking nodes get rewards in the form of new coins and transaction fees.
Archival Node:
- Archival nodes are a lot like full nodes but with extra storage.
- They keep a complete record of all the historical data, like past blocks and transactions.
- Researchers and auditors find archival nodes super useful for studying the history of the blockchain.
All these nodes make sure the Qtum blockchain stays secure, reliable, and efficient. Each type of node has its unique role, helping the network work its magic smoothly.
For the latest updates, you can check out Qtum Project GitHub.
Qtum Node Requirements
Hardware:
- CPU: 1.8 GHz or higher
- RAM: 2 GB or higher
- Storage: 100 GB or higher
Software:
- Operating system: Ubuntu 16.04 or newer
- Qtum Core wallet
Internet connection:
- Bandwidth: 1 Mbps or higher
- Stability: Stable internet connection is required
These are the minimum requirements for running a Qtum full node. If you want to run a light node, the requirements are lower.
Here are some additional tips for running a Qtum node:
- Use a dedicated computer: If you are running a full node, it is best to use a dedicated computer. This will ensure that the node is not interrupted by other activities on the computer.
- Keep the node up to date: It is important to keep the node up to date with the latest software. This will ensure that the node is secure and that it can communicate with other nodes on the network.
- Monitor the node: It is important to monitor the node to ensure it is running properly. This includes checking the node's logs for errors and making sure that the node is connected to the network.
How to Deploy a Qtum Node on Linux
Step 1: Build Qtum Core
You have two options for compiling Qtum Core from source: using the GitHub source or a release file.
Option 1: From GitHub Source
- Clone the Qtum repository and navigate into the directory, then compile and install Qtum Core:
git clone https://github.com/qtumproject/qtum --recursive
cd qtum && make -C depends/
DEPENDS="$(pwd)/depends/x86_64-pc-linux-gnu"
./autogen.sh
./configure --prefix=$DEPENDS
make
make install
- Set the dependency path and configure:
depends/x86_64-pc-linux-gnu
Option 2: From a Release File
- Download the Qtum release file and extract it:
wget https://github.com/qtumproject/qtum/archive/refs/tags/mainnet-fastlane-v0.20.2.tar.gz
tar -xpf mainnet-fastlane-v0.20.2.tar.gz && cd qtum-mainnet-fastlane-v0.20.2
git clone --recursive https://github.com/qtumproject/cpp-eth-qtum.git src/cpp-ethereum
make -C depends/
DEPENDS="$(pwd)/depends/x86_64-pc-linux-gnu"
./autogen.sh
./configure --prefix=$DEPENDS
make
make install
After compiling Qtum Core, the next step is to run Qtum Core.
To run Qtum Core, open a terminal and enter:
qtumd -daemon
Ensure you've created a qtum.conf
file with your credentials, if necessary, for RPC calls. Here's an example qtum.conf
:
rpcuser=qtum
rpcassword=coin
server=1
rpcallowip=127.0.0.1
logevents=1
daemon=1
Step 2: Get Qtum Node
To begin with, you need to acquire a Qtum node. There are several ways to do this:
- Download Binaries: If you're not concerned about the source code, the simplest approach is to download the latest Qtum binaries from the official release page. Choose the Linux operating system and extract the downloaded archive. This will provide you with the
qtumd
andqtum-cli
executables. - Use apt Install (Linux): For Linux users, the
apt
package manager can be used to install Qtum. The official Qtum GitHub page provides instructions for setting up the repository and installing Qtum usingapt
. Once installed, you can runqtumd
andqtum-cli
from the terminal. - Compile from Source: If you're interested in working with the source code, you can clone the Qtum repository from GitHub and compile it on your system. This method allows for customization and is recommended for Linux and macOS. After compilation, you'll find the
qtumd
andqtum-cli
executables.
Step 3: Deploy Qtum Node
Once you get the Qtum node, it's time to deploy it:
- Run the Qtum fullnode using the
./qtumd
command. Add the-daemon
option to run it in the background. If you're interested in smart contract event logs, include the-logevents
option. - The default data path for the node varies depending on your platform:
~/.qtum/
for Linux,~/Library/Application Support/Qtum
for macOS, and%APPDATA%\Qtum
for Windows. You can customize the data path using the-datadir
option.
Now that your Qtum node is up and running, you can set up and use the RPC interface. Please refer to Qtum Documentation for the latest updates and other deployments.