https://github.com/dplesca/stellar-vanity
stellar vanity address generator
https://github.com/dplesca/stellar-vanity
golang stellar
Last synced: 5 months ago
JSON representation
stellar vanity address generator
- Host: GitHub
- URL: https://github.com/dplesca/stellar-vanity
- Owner: dplesca
- License: mit
- Created: 2018-02-04T14:14:46.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-04T09:49:39.000Z (over 7 years ago)
- Last Synced: 2025-03-31T03:31:59.318Z (about 1 year ago)
- Topics: golang, stellar
- Language: Go
- Size: 10.7 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
stellar vanity address generator
====
This project is simple stellar vanity address generator written in go. Its usage is as easy as:
```
./stellar-vanity text
```
It has however a few neat tricks up its sleeve:
- it uses goroutines to concurrently generate as many keypairs as it can (but not too many, as it's just wasteful). You can of course raise or lower the `maxConcurrency` value on build.
- it can be used to search for a text: anywhere (default), start or end of the address.
- it can show you some progress information, it prints out a message every 100,000 generated keypairs (using `--verbose` flag)
- it will show you where the text has been found in the address in a colorful way
- it can output the result in a text file too, just be careful with it, please (using `--writetofile` flag)
A small note for searching a string on the start of the address. The first two letters of a stellar address can be: GA, GB, GC, GD. The reason is [a side effect of base32 encoding according to this stackexchange answer](https://stellar.stackexchange.com/questions/371/does-the-second-letter-of-the-public-address-having-any-meaning-since-it-only-ap). (because the of the beta status, I'll paste the relevant part below)
> the first byte (8 bits) that is encoded contains the type of the string. A public key has prefix "G" for example.
> when converting into base32 the data is consumed 5 bits at a time, so the first 5 bits of the 8 bits version end up being the first character. The second character is therefore the remaining 3 bits from the version byte (but they are all 0s), plus the first 2 bits of the actual data. 2 bits of data give you the characters A through D.
This vanity address finder will search for the requested string _as soon as it can_, meaning that if your text starts with **GA** it will look for a match right at the start of the address, but if your text starts with **B** it will look for a match starting from the second character of the address and, finally, if your text starts with **Q** it will look for a match starting from the third.
### Enough talk, show me the results
Before showing results I must note that this a process based on random. This means that you can find a 5 character text in a few seconds (that actually happened during testing), but it also means that it can take 12h to find a 6 characters text (also happened during testing). Also, searching at start/end might be way more time consuming. All examples below are being generated on the $5 Linode VPS.
- **Simple example**

- **Verbose example**

- **Start position example**

### Downloads
Because go (and goreleaser) is amazing and you can cross-compile easily, I have already built executables available [for download](https://github.com/dplesca/stellar-vanity/releases). But, _please_, don't trust me and build it yourself.
### Donate
GDMFXT3ZJIL4KAZTUGYMJUMDXI6JFTC3QZ4YFSMWE6B47VIA3YCLUMEN