Package Exports
- qrllib/build/offline-libjsdilithium
- qrllib/build/offline-libjskyber
- qrllib/build/offline-libjsqrl
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (qrllib) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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 | 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.