bls-lib

0.3.4 • Public • Published

NPM Package Build Status Coverage Status

js-standard-style

Synopsis

This libary provides primitives for creating and verifying BLS threshold signatures in Webassembly with a JS API. All the hard work is done by herumi/bls. This wraps the bls C++ code which is compiled to Webassembly for easier use.

Installation

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)
})

Examples

./examples/

API

./docs/

Dependents

Building

First install the dependencies emscripten and ninja

 git clone --recursive https://github.com/dfinity/js-bls-lib.git
 cd js-bls-lib/build
 ninja

License

(C) 2017 DFINITY STIFTUNG

MPL-2.0

image

Readme

Keywords

Package Sidebar

Install

npm i bls-lib

Weekly Downloads

8

Version

0.3.4

License

MPL-2.0

Unpacked Size

2.14 MB

Total Files

89

Last publish

Collaborators

  • null_radix