fb75373b47
The Rng was only used for key generation, and for BIP32 users not even then; thus hauling around a Rng is a waste of space in addition to causing a massive amount of syntactic noise. For example rust-bitcoin almost always uses `()` as the Rng; having `Secp256k1` default to a `Secp256k1<Fortuna>` then means even more syntactic noise, rather than less. Now key generation functions take a Rng as a parameter, and the rest can forget about having a Rng. This also means that the Secp256k1 context never needs a mutable reference and can be easily put into an Arc if so desired. |
||
---|---|---|
src | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
LICENSE | ||
Makefile | ||
README.md |
README.md
rust-secp256k1
rust-secp256k1
is a wrapper around ,
a C library by Peter Wuille for producing ECDSA signatures using the SECG curve
secp256k1
. This library
- 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