Python-based blockchain ledger utilising hash-based one-time merkle tree signature scheme (XMSS) instead of ECDSA. Proof-of-stake block selection via a signed iterative hash chain reveal scheme which is both probabilistic and random (https://github.com/theQRL/pos).
Hash-based signatures means larger transactions (6kb per tx, binary), longer keypair generation times and the need to record 'state' of transactions as each keypair can only be used once safely. Merkle tree usage enables a single address to be used for signing numerous transactions (up to 2^13 computationally easily enough). Transactions have an incremented nonce to allow wallets to know which MSS keypair to use - currently XMSS/W-OTS+ are natively supported.
More information:
- theqrl.org
- Blog (Medium)
- Original Whitepaper (English) or other languages [These documents are subject to change]
- Original Proof of Stake document [This document is subject to change]
You are welcome to install the alpha version and join the testnet. Be aware that work is in progress and there might be frequent breaking changes.
Ensure your apt sources are up to date and install dependencies
sudo apt update
sudo apt -y install swig3.0 python3-dev python3-pip build-essential cmake pkg-config libssl-dev libffi-dev
To get the source and start the node, use the following:
pip3 install -U qrl
start_qrl
Debian has some issues in old packages, so you need to install some backports.
Debian does not have sudo
by default, if you have not installed sudo
, the use su
and later do not forget to exit
.
Do NOT run the node as root.
The following lines show [sudo]
as optional. Adjust accordingly.
echo "deb http://ftp.debian.org/debian jessie-backports main" | [sudo] tee -a /etc/apt/sources.list
[sudo] apt-get update
[sudo] apt-get -t jessie-backports install cmake swig3.0
[sudo] apt-get -y install swig3.0 python3-dev python3-pip build-essential cmake pkg-config libssl-dev libffi-dev
[sudo] pip3 install -U setuptools pip
To get the source and start the node, use the following:
pip3 install -U qrl
start_qrl
If you dont have brew yet, we think you should :) Install brew following the instructions here: https://brew.sh/
Now install some dependencies
brew update
brew install cmake python3 swig boost
To get the source and start the node, use the following:
pip3 install -U qrl
start_qrl
Install dependencies
sudo apt update
sudo apt -y install swig3.0 python3-dev build-essential cmake ninja-build libboost-random-dev libssl-dev libffi-dev
sudo pip3 install -U setuptools pip
To get the source and start the node, use the following:
sudo pip3 install -U qrl
start_qrl
Debian has some issues in old packages, so you need to install some backports.
Debian does not have sudo
by default, if you have not installed sudo
, the use su
and later do not forget to exit
.
Do NOT run the node as root.
The following lines show [sudo]
as optional. Adjust accordingly.
echo "deb http://ftp.debian.org/debian jessie-backports main" | [sudo] tee -a /etc/apt/sources.list
[sudo] apt-get update
[sudo] apt-get -t jessie-backports install cmake swig3.0
[sudo] apt-get -y install swig3.0 python3-dev python3-pip build-essential pkg-config libssl-dev libffi-dev
[sudo] pip3 install -U setuptools pip
To get the source and start the node, use the following:
sudo pip3 install -U qrl
start_qrl
If you get the following error:
The 'cffi>=1.7' distribution was not found and is required by cryptography
get an error with
Add the cffi package:
[sudo] pip3 install cffi
Windows support in the current version is limited. An alternative is to use an Ubuntu VM (virtualbox), or install Ubuntu using the Linux Subsystem for Windows. Docker containers are not working well in Windows at the moment
It is possible to run a QRL node using an Ubuntu Bash shell through the Linux Subsystem for Windows. Follow these instructions to install Ubuntu using Linux Subsystem, start the Ubuntu bash shell, and then follow the previous instructions on setting up QRL on Ubuntu.
We are working on a solution to native Windows support