vulpemventures / secp256k1-zkp

JavaScript bindings of libsecp256k1-zkp with support for pedersen commitments and range proofs.
MIT License
15 stars 10 forks source link

Build Status js-standard-style

secp256k1-zkp

Essential methods of the secp256k1-zkp lib exported to JS for handling Elements confidential transactions

Installation

Use the package manager yarn or npm to install secp256k1-zkp.

yarn add @vulpemventures/secp256k1-zkp

npm install @vulpemventures/secp256k1-zkp

Usage

The library is exported as a function that returns a promise.

import secp256k1 from '@vulpemventures/secp256k1-zkp'

async function main() {
    const lib = await secp256k1();
    // use the library functions
}

Documentation

Typedoc html page is available via:

yarn doc

Development

Fetch submodules

git submodule update --init --recursive

Install dependencies

yarn install

Compile the WASM (writes ./lib/secp256k1-zkp.js file)

yarn compile

Build the library

yarn build

Run tests

yarn test

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT