bls-oly-wasm
TypeScript icon, indicating that this package has built-in type declarations

1.1.4 • Public • Published

Node.js CI

BLS signature for Node.js by WebAssembly

Abstract

This module is built with BLS_ETH=1 for Ethereum 2.0 spec.

News

Init as the followings:

bls.init(bls.BLS12_381)
bls.setETHmode(2)

(old) The new eth2.0 functions are supported. This mode will be removed in the future.

Init as the followings:

bls.init(bls.BLS12_381)
bls.setETHmode(1)

then, you can use the following functions.

bls-eth-wasm eth2.0 spec name
SecretKey::sign Sign
PublicKey::verify Verify
Sign::aggregate Aggregate
Sign::fastAggregateVerify FastAggregateVerify
Sign::aggregateVerifyNoCheck AggregateVerify

The size of message must be 32 byte.

Check functions:

  • verifySignatureOrder ; make deserialize check the correctness of the order
  • Sign::isValidOrder ; check the correctness of the order
  • verifyPublicKeyOrder ; make deserialize check the correctness of the order
  • PublicKey::isValidOrder ; check the correctness of the order
  • areAllMsgDifferent ; check that all messages are different each other

Old eth2.0 spec

The msg in the following means 40 bytes Uint8Array data.

  • SecretKey.signHashWithDomain(msg)
    • sign msg by secretKey
  • PublicKey.verifyHashWithDomain(sig, msg)
    • verify sig with msg by publickey
  • Signature.verifyAggregatedHashWithDomain(pubVec, msgVec)
    • pubVec[i] = secVec[i].getPublicKey()
    • sigVec[i] = secVec[i].signHashWithDomain(msgVec[i])
    • aggSig = sum of sigVec[i]
    • aggSig.verifyAggregatedHashWithDomain(pubVec, msgVec)
    • see aggTest() in test.js

see bls

For Node.js

node test.js

License

modified new BSD License http://opensource.org/licenses/BSD-3-Clause

Author

MITSUNARI Shigeo(herumi@nifty.com) Julian Meyer julianmeyer2000@gmail.com

Sponsors welcome

GitHub Sponsor

Package Sidebar

Install

npm i bls-oly-wasm

Weekly Downloads

1

Version

1.1.4

License

BSD-3-Clause

Unpacked Size

689 kB

Total Files

19

Last publish

Collaborators

  • meyer9