qrllib
v1.2.4
Published
QRL Core Library
Downloads
152
Readme
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 | OSX10.12 | Windows10 | |-----------|:------------:|:-----------:|:--------:| |Python 3 | :white_check_mark: | :white_check_mark: | :seedling: | |Webassembly (JS) | :white_check_mark: | :white_check_mark: | :white_check_mark: | |Golang | :seedling: | - | - | |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:
https://circleci.com/docs/2.0/local-cli/#installing-the-circleci-local-cli-on-macos-and-linux-distros
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.