QRL Core Library
WARNING: This is work in progress, changes might not be backward compatible.
This library currently exposes the following functionality:
- XMSS, XMSS_fast
- Shake128, Shake256, SHA2_256
- Hashchain seeds, etc.
- Helpers: seed generation, address generation, mnemonics
Platform support
Linux | OSX 10.12 |
Windows 10 |
|
---|---|---|---|
Python 3 | |||
Webassembly (JS) | |||
Golang | - | - | |
Java | - | - | - |
Installing
Ubuntu
sudo apt -y install swig3.0 python3-dev build-essential cmake ninja-build pkg-config
pip3 install pyqrllib
OSX
If you dont have brew yet, we think you should :) Install brew following the instructions here: https://brew.sh/
Now install some dependencies
brew install cmake python3 swig
pip3 install pyqrllib
Windows
TBD
Raspbian
sudo apt -y install swig3.0 python3-dev build-essential cmake ninja-build
sudo pip3 install -U setuptools
sudo pip3 install -U pyqrllib
Miscellaneous
Golang and Java wrappers are currently experimental (By default they are disabled in cmake)
brew install go --cross-compile-common
Development
Emscripten
In order to compile the webassembly and run node.js tests you first need to install CircleCI CLI:
Then run the following command
circleci build --job build_emscripten
This will compile and test the webassembly. Output files will be copied over to tests/js/tmp
You can then run node.js locally using npm.
License
This library is distributed under the MIT software license, see the accompanying file LICENSE or http://www.opensource.org/licenses/mit-license.php.
Some of the code is based on the xmss-reference implementation that has been released in the public domain by their respective authors.
Most of third party code has been included as git submodules for future reference.