Skip to content

Verify BLS sigs on the BN254 curve in Solidity/JS (RFC9380 compliant)

License

Notifications You must be signed in to change notification settings

kevincharm/bls-bn254

Repository files navigation

BLS on BN254

BLS operations on BN254 in Solidity, including constant-time hash-to-curve using a the general Shallue-van de Woestijne encoding described in RFC9380 Section 6.6.1.

A lot of the code in this repository has been taken from these repositories:

JavaScript Library

This repo also comes with an accompanying JS lib for creating signatures.

    npm install --save @kevincharm/bls-bn254 ethers@^6 mcl-wasm@1.4.0

Utilities

Hash-to-point

Hash a regular string

    yarn bls:hash "message to hash"

Hash hex bytes

    yarn bls:hash 0xdeadbeef

Readings

About

Verify BLS sigs on the BN254 curve in Solidity/JS (RFC9380 compliant)

Resources

License

Stars

Watchers

Forks