Crates.io | cashweb-secp256k1 |
lib.rs | cashweb-secp256k1 |
version | 0.19.1 |
source | src |
created_at | 2020-07-01 01:50:48.996984 |
updated_at | 2021-01-02 15:38:06.790386 |
description | Rust bindings for Pieter Wuille's `libsecp256k1` library. Implements ECDSA for the SECG elliptic curve group secp256k1 and related utilities. |
homepage | https://github.com/cashweb/cashweb-secp256k1/ |
repository | https://github.com/cashweb/cashweb-secp256k1/ |
max_upload_size | |
id | 260110 |
size | 188,201 |
cashweb-secp256k1
is a wrapper around libsecp256k1,
a C library by Pieter Wuille for producing ECDSA signatures using the SECG curve
secp256k1
. This library
libsecp256k1
functionslibsecp256k1
Contributions to this library are welcome. A few guidelines:
The build dependency cc
might require a more recent version of the Rust compiler.
To ensure compilation with Rust 1.29.0, pin its version in your Cargo.lock
with cargo update -p cc --precise 1.0.41
. If you're using secp256k1
in a library,
to make sure it compiles in CI, you'll need to generate a lockfile first.
Example for Travis CI:
before_script:
- if [ "$TRAVIS_RUST_VERSION" == "1.29.0" ]; then
cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose;
fi
If you want to fuzz this library, or any library which depends on it, you will
probably want to disable the actual cryptography, since fuzzers are unable to
forge signatures and therefore won't test many interesting codepaths. To instead
use a trivially-broken but fuzzer-accessible signature scheme, compile with
--cfg=rust_secp_fuzz
in your RUSTFLAGS
variable.