Files: d19c0b884a7ce9b2ff7b79a37e82e31d95dd703f / README.md
1416 bytesRaw
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