README.md 1.16 KiB
Newer Older
ordian's avatar
ordian committed
[![Build Status](https://gitlab.parity.io/parity/rust-secp256k1/badges/master/build.svg)](https://gitlab.parity.io/parity/rust-secp256k1/commits/master)
David's avatar
David committed
[![crates.io](https://img.shields.io/crates/v/parity-secp256k1.svg)](https://crates.io/crates/parity-secp256k1)
David's avatar
David committed
[![](https://tokei.rs/b1/github/paritytech/rust-secp256k1)](https://github.com/paritytech/rust-secp256k1)

David's avatar
David committed
### parity-secp256k1
Andrew Poelstra's avatar
Andrew Poelstra committed

David's avatar
David committed
`parity-secp256k1` is a wrapper around [libsecp256k1](https://github.com/bitcoin/secp256k1),
Andrew Poelstra's avatar
Andrew Poelstra committed
a C library by Peter Wuille for producing ECDSA signatures using the SECG curve
David's avatar
David committed
`secp256k1`. It is a fork of [`rust-secp256k1`](https://github.com/rust-bitcoin/rust-secp256k1).
 
This library
Andrew Poelstra's avatar
Andrew Poelstra committed
* exposes type-safe Rust bindings for all `libsecp256k1` functions
* implements key generation
* implements deterministic nonce generation via RFC6979
* implements many unit tests, adding to those already present in `libsecp256k1`
* makes no allocations (except in unit tests) for efficiency and use in freestanding implementations
Andrew Poelstra's avatar
Andrew Poelstra committed

ordian's avatar
ordian committed
[Full documentation](https://docs.rs/parity-secp256k1)
David's avatar
David committed
#### Build

Clone the repository. Run the following:

```
git submodule init
git submodule update
cargo check
```