secp256k1-zkp-sys

This crate provides Rust definitions for the FFI structures and methods.

Vendoring

The default build process is to build using the vendored libsecp256k1-zkp sources in the depend folder. These sources are prefixed with a special rust-secp256k1-zkp-sys-specific prefix rustsecp256k1zkp_v1_2_3_.

This prefix ensures that no symbol collision can happen:

To update the vendored sources, use the vendor-libsecp.sh script:

$ ./vendor-libsecp.sh depend <version-code> <rev>

Linking to external symbols

For the more exotic use cases, this crate can be used with existing libsecp256k1-zkp symbols by using the external-symbols feature. How to setup rustc to link against those existing symbols is left as an exercise to the reader.