[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):

1fudCz15sHGR8L2YQnaG4JVMjMQpaDo37
1BTCTUnYLskK7N9nXb17wf6oVYMYrX5WHG
1DogemNVw8AZnMf3cB4L1wijGnr9DVKzia
1Fomo7V86nWrjdv6JzU7yavtp5hfzZWsZr

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:
0xcafebabeb69f2361cec1106cb26e3f422b65442f
0xdeadbeef36072d66d93b2c9fda370c06964262b2
0xbadc0dedf5b784a70bc9a8c8476b5c88e9f6f49e
0x11111111262b236c9ac9a9a8c8e4276b5cf6b2c9

Example of "Hexspeak":
https://en.wikipedia.org/wiki/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:

VanityEth
- only uses CPU (-> slow)
- only available for Linux
- Open Source
- trustworthy source
https://github.com/MyEtherWallet/VanityEth

profanity
- uses GPU (-> much faster)
- Windows/Linux
- Open Source
https://github.com/johguse/profanity

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


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:
https://github.com/johguse/profanity/releases

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.

  Range:
    -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.

  Tweaking:
    -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]

  Examples:
    ./profanity --leading f
    ./profanity --matching dead
    ./profanity --matching badXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbad
    ./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?


0

0

xuNsh1ne
xuNsh1ne

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.