QRL Node — QRL Node
Running a QRL node strengthens the network supports the decentralization and further verifies transactions on the network. This is an essential function of the decentralized architecture QRL relies on. This allows you to run a private secure node to communicate with the QRL blockchain. You can use the node to connect the explorer wallet and ephemeral messaging features to the gRPC QRL functions. There are various options available for connecting to the API and setup options for the node can be configured through a user set configuration file. Requirements You can run QRL on most operating systems though Ubuntu 16.04 is recommended. Support for AES-NI Support for avx2 (Used by keccak library for hashing functions) HDD with enough storage for the blockchain as it grows Reliable network connection Python3.6 64 bit processor tl;dr Abridged instructions for installing QRL on Ubuntu: # Update and Upgrade packages sudo apt update && sudo apt upgrade -y # Install Required dependencies sudo apt-get -y install swig3.0 python3-dev python3-pip build-essential pkg-config libssl-dev libffi-dev libhwloc-dev libboost-dev cmake # Make sure setuptools is the latest pip3 install -U setuptools # Install QRL pip3 install -U qrl If things worked correctly you will now find the start_qrl package and the qrl package. Adding the --help flag to each will print the various function details. Getting Started Installing QRL is simple and is possible on most modern operating systems. The install relies on python3.5 or newer and the pip3 python package install system. Update and Dependencies You will need to start with a fully updated system. You will also need a few additional packages depending on your setup. See the correct section for your OS and install all of the requirements. Ubuntu Install Ubuntu Node Update your system ensuring you have the latest packages: # Issue the following command to update software sudo apt update && sudo apt upgrade -y Now install all the required dependencies: # Install the required packages for QRL sudo apt-get -y install swig3.0 python3-dev python3-pip build-essential pkg-config libssl-dev libffi-dev libhwloc-dev libboost-dev cmake pip3 install -U setuptools Start the QRL ndoe start_qrl Update Ubuntu Node First stop your node with ctrl+c. Then double check you have the required dependencies installed sudo apt-get -y install swig3.0 python3-dev python3-pip build-essential pkg-config libssl-dev libffi-dev libhwloc-dev libboost-dev cmake pip3 install -U setuptools After that update your node with pip3 pip3 install -U qrl When you’re done updating don’t forget to start your node again! start_qrl Redhat/fedora Update: # Update dnf update Dependencies: # Install required packages dnf install swig cmake gcc gcc-c++ redhat-rpm-config python3-devel python-devel hwloc-devel boost-devel MacOS To build in OSX Please install brew if you have not already. # Install brew with /usr/bin/ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" This will prompt you through a few questions while it installs. Having Issues? Please follow the instructions found at the brew main page: https://brew.sh/ # Update brew brew update brew install python3 swig boost hwloc You will need to install cmake v3.10.3 manually. Please follow the guide from the cmake documantation Windows 10 Windows support in the current version is limited. An alternative is to install Ubuntu using the Linux Subsystem for Windows. Ubuntu on Linux Subsystem for Windows (WSL) You can run a full node in Windows utilizing the Windows Subsystem for Linux. There are a ton of guides out there on setting this up. Here are a few links to get you going. The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that enables you to run native Linux command-line tools directly on Windows alongside your traditional Windows desktop and modern store apps. You can follow these instructions to install Ubuntu using Linux Subsystem Links - Installing Ubuntu in Windows 10 Windows Subsystem for Linux Documentation Google Is Your Friend (install+ubuntu+in+windows+10) WSL Blog Install QRL Now that we have a freshly updated system the installation of QRL is a breeze QRL uses python3 to install. The install is the same for all operating systems after you have installed the requirements. Using the Python3 package installer pip3 we will install QRL. Before we install QRL make sure setupTools is the latest. pip3 install -U setupTools After this completes install QRL with: pip3 install -U qrl This will install the QRL package and any required dependencies. Start QRL Node Now that we have QRL installed we can start_qrl and begin syncing the node. This will begin the node in the foreground of the shell. If you would like to continue using the shell you can either pass the --quiet flag or run the command in a screen session ( you will need screen installed ). start_qrl This will print out the details of the running QRL processes. For a more verbose output you can pass the -l option with DEBUG INFOWARNINGERRORCRITICAL depending on the level of information you need. start_qrl -l DEBUG The node will sync the entire blockchain to your computer make sure you have enough space. after syncing the chain you will begin seeing blocks added. Congrats your QRL node is working. Help If you would like to see all of the options you can pass along the command line simply add --help to the end of the command above. start_qrl --help This will print all of the various options available. usage: start_qrl [-h] [--mining_thread_count MINING_THREAD_COUNT] [--quiet] [--qrldir QRL_DIR] [--no-colors] [-l {DEBUGINFOWARNINGERRORCRITICAL}] [--network-type {mainnettestnet}] [--miningAddress MINING_ADDRESS] [--mockGetMeasurement MEASUREMENT] [--debug] [--mocknet] QRL node optional arguments: -h --help show this help message and exit --mining_thread_count MINING_THREAD_COUNT -m MINING_THREAD_COUNT Number of threads for mining --quiet -q Avoid writing data to the console --qrldir QRL_DIR -d QRL_DIR Use a different directory for node data/configuration --no-colors Disables color output -l {DEBUGINFOWARNINGERRORCRITICAL} --loglevel {DEBUGINFOWARNINGERRORCRITICAL} Set the logging level --network-type {mainnettestnet} Runs QRL Testnet Node --miningAddress MINING_ADDRESS QRL Wallet address on which mining reward has to be credited. --mockGetMeasurement MEASUREMENT Warning: Only for integration test to mock get_measurement --debug Enables fault handler --mocknet Enables default mocknet settings Configuration By default when the node is started it will NOT mine any coins. You will have to enable using a configuration file in the ~/.qrl/ directory. The configuration file is where you will change any options you want QRL to observe. You can grab a copy of the file and details about all of the settings in our Configuration Guide The defaults can be used to run a QRL node though you may need to change some of the directives for your use. Mining QRL If you want to mine using a QRL node see the guide for Mining QRL Solo or the pool guide to get started. Requirements tl;dr Getting Started Ubuntu Install Ubuntu Node Update Ubuntu Node Redhat/fedora MacOS Windows 10 Install QRL Start QRL Node Configuration Mining QRL Still stuck? There's help over on Discord!"