ecrust
The umbrella crate for the ecrust ecosystem.
This crate re-exports the workspace layers behind one package so users can start with a single dependency and grow into the modular crates later if they want finer control.
Re-exported crates
ecrust::fpecrust::ececrust::isogenyecrust::protocol
Adding it to your project
[]
= "0.1"
Minimal example
use ;
use FieldOps;
use FpElement;
const_prime_monty_params!;
type F19 = ;
let a = F19from_u64;
let b = F19from_u64;
assert_eq!;
assert!;
Feature flags
All layers are enabled by default.
fpecisogenyprotocol
You can disable default features and select only what you need:
[]
= { = "0.1", = false, = ["fp", "ec"] }
When should I use this crate?
Use ecrust if you want:
- one dependency for the whole stack
- a simpler onboarding story
- the ability to access modules as
ecrust::fp,ecrust::ec, and so on
Use the individual crates if you want tighter dependencies or if you are building only on one layer.
Status
The workspace is currently in alpha. APIs may change, and the implementation should be considered experimental.
Authors
- Gustavo Banegas
- Martin Azon
- Sam Frengley
License
Apache-2.0