❍ An offline Monero key generator & (soon to be) transaction signer in Rust.
❍ cargo +nightly build --release
Note the use of nightly since we're using the try_trait
in order to unwrap options into Results and thus use the ?
operator on both in the same fxn.
❍ cargo +nightly test
- Add key generation ability.
- Add CLI arg support w/ docopt.
- Add key set generation from existing.
- Make sensible key type so that sizes are enforced!
- Have way to save and load from encrypted key file(s).
- how does monero encrypt the files (if it does?)
- Make work w/ multiple keys
- Use inquirerjs style menu (rustbox?) for picking which key to sign with.
- Add ability to add/rm keys (make latter require p-word of that key!).
Monero uses the Edwards25519 Elliptic Curve:
−x^2 + y^2 = 1 − (121665/121666) * x^2 * y^2
...which has the chosen base-point G:
G = (x, -4/5)
The prime order l
of the curve is also chosen by the curve's authors as:
l = 2^252 + 27742317777372353535851937790883648493
… & so the maximum scalar for this curve is:
7237005577332262213973186563042994240857116359379907606001950938285454250989
Monero Related:
- Zero to Monero PDF.
- Monero seed word list.
- Unofficial Monero Docs.
- Rust Lib for ED25519 curve stuff.
- Cryptonote Address Generator & seed work explanation.