gskapka / moneroff

An offline Monero transaction signer in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

:trollface: Moneroff

❍ An offline Monero key generator & (soon to be) transaction signer in Rust.

 


πŸ”§ Build it:

❍ 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.

 


πŸŽ’ Test it:

❍ cargo +nightly test

 


πŸ“‹ To Do:

  • 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 Notes:

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

 


πŸ”© Resources:

Monero Related:

 

About

An offline Monero transaction signer in Rust.

License:MIT License


Languages

Language:Rust 100.0%