QRL core library
Branch: master
Clone or download
jplomas Merge pull request #160 from jplomas/master
Add offline file to package.json
Latest commit 7420fdb Jan 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Remove extraneous flag in build Jan 20, 2019
build moving files before creating package Jun 21, 2018
deps Upgrading dilithium Mar 22, 2018
pyqrllib Complete splitting and adding simple tests Dec 20, 2017
src Adding height limits Sep 28, 2018
tests Adding support for addresses in wasm Jun 12, 2018
.coveragerc Initial python packages Sep 17, 2017
.gitignore moving files before creating package Jun 21, 2018
.gitmodules
CMakeLists.txt Adding additional tests May 24, 2018
CMakeLists.txt.gtest.in
LICENSE Add single file output from emscripten to build Jan 20, 2019
MANIFEST.in
README.md
README.pypi
appveyor.yml Empty config Apr 29, 2018
package.json
pytest.ini Fixing python tests + enable flake8 Apr 14, 2018
requirements.txt Initial js wrapper Sep 25, 2017
setup.cfg
setup.py upgrading pyscaffold Mar 23, 2018
test-requirements.txt Initial python packages Sep 17, 2017

README.md

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.