Skip to content

theQRL/qrllib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4c63c7e Β· Sep 21, 2022
Jul 10, 2022
Jun 21, 2018
Mar 22, 2018
May 5, 2021
Jul 29, 2018
Jul 10, 2022
Jul 10, 2022
Sep 17, 2017
Dec 7, 2021
Dec 20, 2017
Oct 28, 2020
May 6, 2021
Nov 30, 2021
Apr 3, 2022
Apr 3, 2022
Jan 20, 2019
May 5, 2021
Sep 21, 2022
Sep 17, 2017
Oct 28, 2020
Apr 29, 2018
Oct 28, 2020
Jan 6, 2020
Apr 14, 2018
Sep 25, 2017
May 5, 2021
May 5, 2021
Sep 17, 2017
May 5, 2021

Repository files navigation

PyPI version npm version Build Status CircleCI Codacy Badge MIT licensed

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:

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.