Skip to content

Latest commit

 

History

History
89 lines (72 loc) · 3.33 KB

README.md

File metadata and controls

89 lines (72 loc) · 3.33 KB

algovanity

generate vanity addresses for the Algorand blockchain

The software supports matching multiple patterns at once, and that is in fact the suggested operation mode: generate once, match many.
This design also facilitates attempts in finding longer matches in a potentially shorter timespan, giving the user control in reducing the precision and diverging from the initial desired outcome.
The script spawns multiple subprocesses which will run indefinitely, with a main loop printing to console some basic statistics and any new matches as they're found, waiting for a keyboard interrupt.


Installation
from pip

To install the script from the packaged release on pip, run

pip3 install algovanity
from source

To install the script from source, run

git clone https://github.com/nxet/algovanity
cd algovanity
# optionally change branch
git checkout dev-0.1
# install requirements and library
pip3 install -r requirements.txt
pip3 install .
Pattern formats

Addresses are formed by 58 characters in the uppercase A-Z range and the 2-7 range, user can pick any combination of these.

The numbers 0, 1, 8 and 9 are not valid characters in Algorand addresses

Matching is supported with four different pattern formats:

  • start
    matches at the beginning of the address
    defined with patterns like ADDR... or MYNAME...
  • end
    matches at the end of the address
    defined with patterns like ...ADDR or ...MYNAME
  • edges
    matches at both start and end of the address
    defined with patterns like COOL...ADDR or ABC...XYZ
  • regex
    compiles the provided pattern as is and attempts to re.fullmatch
    defined with patterns like ^AB[.]*CD[.]*YZ$ or ^NAME[2-7][A-Z2-7]+$

NB: the longer the pattern, the longer the run time.
Anything over 6 characters will be running for a very long time.

File output

The script creates a new file if none is available, but will always try to append new matches to the provided file instead of overwriting.
Matches are dumped to file at each status update, and finally once the main loop is terminated.
The file is opened/closed on-demand, allowing to tail -f it for example.

Examples
# install package
pip3 install algovanity

# match addresses starting with MYNAME
algovanity MYNAME...
# or either starting or ending with MYNAME
algovanity MYNAME... ...MYNAME
# but limiting to only 2 subprocesses
algovanity MYNAME... ...MYNAME --procs-max 2
# dump results to file
algovanity MYNAME... --output ~/algovanity.txt
# match addresses starting with COOL and ending with ADDR
algovanity COOL...ADDR
# match addresses starting with NAME plus one exact number (either 5 or 7)
algovanity NAME5... NAME7... --output ~/algovanity.txt
# match addresses starting with NAME plus one random number from range [2-7]
algovanity '^NAME[2-7][A-Z2-7]+$' --output ~/algovanity.txt
# match addresses starting with NAME plus two random numbers from range [2-7]
algovanity '^NAME[2-7]{2}[A-Z2-7]+$' --output ~/algovanity.txt

License

This project is licensed under GPL 3.0 - see LICENSE for details.

Support this project

If this software has been helpful please consider donating to support future development.
Algorand address: NXET... - view on algoexplorer.io