[Guide] Ethereum custom-adress ("Vanity Address") [GPU required]

[Guide] Ethereum custom-adress ("Vanity Address") [GPU required]

By xuNsh1ne | xuNsh1ne's Blog | 1 Apr 2019

In his guide "How to create your customized Bitcoin-Address (vanitygen) – step by step" 1miau already explained how to create a "Custom" Bitcoin address using vanitygen.

Examples (BTC):


Source: https://bitcointalk.org/index.php?topic=5096373.0

However generating such a custom address does not only work for Bitcoin, but also for Ethereum.

Bitcoin addresses are Base58 encoded and can contain the following characters:

1 2 3 4 5 6 7 8 9 a b c d e f g h i j k m n o p q r s t u v w x y z A B C D E F G H J K L M N P Q R S T U V W X Y Z

When creating our Ethereum address, we unfortunately have to limit ourselves to the hexadecimal system with the following characters:

0 1 2 3 4 5 6 7 8 9 A B C D E F

A few examples of custom ETH-addresses:

Example of "Hexspeak":

For creating our desired address, we'll need some computing power and the time it takes to score a hit increases with the length of our prefix.

Available Tools:

- only uses CPU (-> slow)
- only available for Linux
- Open Source
- trustworthy source

- uses GPU (-> much faster)
- Windows/Linux
- Open Source

vanity-eth.tk (online, therefore not recommended) [1]
- only uses CPU (-> slow)
- browser-based
- Open Source

Due to the much better performance compared to the other tools, I decided to use "profanity" for this guide. Finding the address 0x123456789c7588583381BaB463C81e88A4BfFcEd took me around 15 minutes with a RX480.



First we need the current release of profanity, which can be found at the following link:

Currently (12.03.2019) version 1.22 is the most recent one, so we're downloading "profanity-v1.22-x64.zip".
Direct-Link: https://github.com/johguse/profanity/releases/download/v1.22/profanity-v1.22-x64.zip

For the sake of simplicity we then create the folder "profanity" on our C:\ drive and extract the contents of the .ZIP file into the folder we just created.
Now we start a command prompt by entering "CMD" in the Windows search or open the run dialog box by pressing the [WINDOWS] + [R] key at the same time and start the command prompt by entering "CMD".

Now we're switching to our folder containing the contents of the .ZIP file by typing "cd C:\profanity" into the command prompt.

We're ready to start generating our address (I'd recommend disconnecting your internet connection first).
Assuming we'd like to have an address starting with the prefix  "0xDEADBEEF" (e.g. 0xDEADBEEFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), we'll have to use the following command:

profanity.exe --matching DEADBEEF

Note: My GPU was indexed as "GPU1" so I had to skip "GPU0" by using the parameter "-s 0" (=> profanity.exe -s 0 --matching DEADBEEF)

Depending on the lenght of your prefix and the performance of your GPU it may take a while to find an address with the desired prefix.

As soon as we've found an address, which we are satisfied with, we can stop the execution of profanity by simultaneously pressing [STRG]+[C] - now all we have to do is writing down our private key (or copy + paste) [2],[3] and we're done.

Profanity also supports other modes - for more information check the usage-instructions below:


usage: ./profanity [OPTIONS]

  Basic modes:
    --benchmark             Run without any scoring, a benchmark.
    --zeros                 Score on zeros anywhere in hash.
    --letters               Score on letters anywhere in hash.
    --numbers               Score on numbers anywhere in hash.
    --mirror                Score on mirroring from center.

  Modes with arguments:
    --leading <single hex>  Score on hashes leading with given hex character.
    --matching <hex string> Score on hashes matching given hex string.

  Advanced modes:
    --contract              Instead of account address, score the contract
                            address created by the account's zeroth transaction.
    --leading-range         Scores on hashes leading with characters within
                            given range.
    --range                 Scores on hashes having characters within given
                            range anywhere.

    -m, --min <0-15>        Set range minimum (inclusive), 0 is '0' 15 is 'f'.
    -M, --max <0-15>        Set range maximum (inclusive), 0 is '0' 15 is 'f'.

  Device control:
    -s, --skip <index>      Skip device given by index.
    -n, --no-cache           Don't load cached pre-compiled version of kernel.

    -w, --work <size>       Set OpenCL local work size. [default = 64]
    -W, --work-max <size>   Set OpenCL maximum work size. [default = 1048576]
    -i, --inverse-size      Set size of modular inverses to calculate in one
                            work item. [default = 256]
    -I, --inverse-multiple  Set how many above work items will run in
                            parallell. [default = 65536]

    ./profanity --leading f
    ./profanity --matching dead
    ./profanity --leading-range -m 0 -M 1
    ./profanity --leading-range -m 10 -M 12
    ./profanity --range -m 0 -M 1
    ./profanity --contract --leading 0


Source: https://github.com/johguse/profanity

If you have any questions please feel free to ask anytime. 

[1] I didn't go into vanity-eth.tk in detail, but according to its Github it can also be used offline:

Once the web page is loaded, you can turn off the internet and continue playing, it will work seamlessly
You can also download the latest build of Vanity-ETH here and use it on a completely offline computer
The code is 100% open source and available on Github. You can review it as much as you want before using it

Source: https://github.com/bokub/vanity-eth

[2] [MyEtherWallet] Creating a (new) keystore-file using your private-key 
[3] [Guide] MyEtherWallet Offline Transactions [SECURITY]

© Nestade [=xuNsh1ne] 30.03.2019

How do you rate this article?




Bitcointalk: https://bitcointalk.org/index.php?action=profile;u=134226 Steemit: https://steemit.com/@xunsh1ne Facebook: https://www.facebook.com/xuNsh1neV1337 Twitter: @xuNsh1ne_V1 Telegram: @xuNsh1ne ETH: 0x123456789c7588583381BaB463C81e88A4BfFcEd

xuNsh1ne's Blog
xuNsh1ne's Blog

Crypto- and security-related topics and guides.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.