A commnand-line vanity address generator for Grin. I made this mostly for fun and to familiarize myself with the various Grin libraries written in Rust. The code is currently a lot slower than expected since deriving a slatepack address from a seed seems to be ~1000x slower that deriving it from a raw public key.

Example usage

The output below depicts an adrress found with the pattern grin1test and its corresponding seed.

```bash $ grin-vanity --threads 30 --pattern grin1test --interval 180 Searching for pattern grin1test Using 30 threads 1177.69 keys/s eta: 16.78min 1180.52 keys/s eta: 16.74min 1180.57 keys/s eta: 16.74min 1184.35 keys/s eta: 16.69min 1191.43 keys/s eta: 16.59min 1186.02 keys/s eta: 16.67min 1187.23 keys/s eta: 16.65min 1183.23 keys/s eta: 16.70min

Found address: grin1testjvsvwm3nrh7ueas8vanjs0tmvymetskf5qwl7cjmkqy7lm0sy0wmcs With Seed: drastic find quarter number column ready program parent mad novel fix vital drill cactus host arm enter omit short team mushroom saddle fancy swarm 1953000 keys in 1537.039615623 seconds ```

Importing into Grin++

Estimated Time

Guessing a private key with the chosen prefix has an element of luck to it. The following table depicts a rough estimate on what should be expected on a Ryzen 5950x using 30 threads. Your results may vary.

| Prefix | Eta | | ------------- | ---------- | |grin1 | < 1s | |grin10 | < 1s | |grin100 | < 1s | |grin1000 | 30 s | |grin10000 | 16 min | |grin100000 | 9 h | |grin1000000 | 12 d | |grin10000000 | 17 y | |grin100000000 | 560 y |

Build

First install Rust from here. Then you can build the project by simply typing: bash cargo build --release

Command-line arguments

```bash $ grin-vanity --help A vanity slatepack address generator

Usage: grin-vanity [OPTIONS]

Options: -p, --pattern Desired pattern [default: grin1234] -t, --threads Threads [default: 1] -i, --interval Refresh Interval [default: 1] -h, --help Print help -V, --version Print version ```