TEST_NET Vanity Address generator

I put together a small and experimental vanity address generator for Symbol’s TEST_NET. Once validated it can be configured to work with the upcoming MAIN_NET.
It is running in a docker container but its source code is at https://github.com/rb2nem/vanitysymbol where the README also gives more information.

It generates random keys and checks that the address matches the search criteria.
The results of the script should not be trusted. To be sure you have working data, import the private keys generated in the symbol wallet, and export the account’s info from the wallet! If you encounter problems, please open an issue.

Symbol addresses are 39 characters long with some structure:

  • the first character indicates the network type (production, testnet, …) and
    this generator only supports the production network, for which addresses start with N
  • the second character is A, B, C, or D.
  • the last characters are a checksum, and the last character is either A, I, Q or Y

Excepting this, we can generate private keys randomly and check if the corresponding address matches a pattern we want.

For the sake of our example, we will want to match address having the 3 characters XYM. If you want a

  • match at the start (after the two first characters): just give the characters, i.e. XYM
  • match anywhere in the address: search for .*XYM
  • match at the end (remember the last character cannot be M): .*XYM.$

Example run:

docker run --rm -it --network none rb2nem/vanitysymbol '.*XY.$'