Skip to content

generate vanity addresses for the Algorand blockchain

License

Notifications You must be signed in to change notification settings

nxet/algovanity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

generate vanity addresses for the Algorand blockchain

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages