π | .gitmodules |
π | .travis.yml |
π | LICENSE |
π | README.md |
π | benchmark |
π | bls |
π | build |
π | cybozulib |
π | docs |
π | exportedFuncs.json |
π | index.js |
π | mcl |
π | package-lock.json |
π | package.json |
π | pre.js |
π | tests |
README.md
SYNOPSIS
This libary provides primitives for creating and verifying BLS threshold signatures. All the hard work is done by herumi/bls. This wraps the bls C++ code which is compiled to Webassembly for easier use.
INSTALL
npm install bls-lib
USAGE
const bls = require('bls-lib')
bls.onModuleInit(() => {
bls.init()
const sec = bls.secretKey()
const pub = bls.publicKey()
const sig = bls.signature()
bls.secretKeySetByCSPRNG(sec)
const msg = 'hello world'
bls.sign(sig, sec, msg)
bls.getPublicKey(pub, sec)
const v = bls.verify(sig, pub, msg)
// v === true
bls.free(sec)
bls.free(sig)
bls.free(pub)
})
API
BUILDING
First install the dependancies emscripten and ninja
git clone --recursive https://github.com/wanderer/bls-lib.git
cd bls-lib/build
ninja
LICENSE
Built with git-ssb-web