Après la version Bitcoin voici comment générer une Vanity adress pour ethereum.
Contrairement aux adresses Bitcoin, encodées en Base 58, il faudra se limiter aux caractères hexadécimaux sur ethereum:
0 1 2 3 4 5 6 7 8 9 A B C D E F
Quelques exemples:0x
cafebabeb69f2361cec1106cb26e3f422b65442f
0x
deadbeef36072d66d93b2c9fda370c06964262b2
0x
badc0dedf5b784a70bc9a8c8476b5c88e9f6f49e
0x
11111111262b236c9ac9a9a8c8e4276b5cf6b2c9
Quelques exemples de "Hexspeak":https://en.wikipedia.org/wiki/Hexspeakhttps://fr.wikipedia.org/wiki/HexspeakComme pour le bitcoin la recherche d'adresses personnalisées demande de la puissance de calcul et peut prendre beaucoup de temps selon le string recherché.
Outils existants :VanityEth- CPU uniquement
- Linux uniquement (mais fonctionne avec WSL)
- Open Source
- Source fiable
https://github.com/MyEtherWallet/VanityEthprofanity- GPU
- Windows/Linux
- Open Source
https://github.com/johguse/profanityvanity-eth.tk (déconseillé car en ligne)]
- CPU
- exécuté par le navigateur
- Open Source
https://github.com/bokub/vanity-ethIl est donc toujours possible d'exécuter la page web localement, et donc de ne pas souffrir du risque de sécurité.
L'utilisation du GPU a bien sur un très gros avantage vis à vis de l'utilisation du CPU uniquement. A titre d'exemple une RX480 a mis environ 15 minutes pour trouver 0x123456789c7588583381BaB463C81e88A4BfFcEd. Bien sur cela dépend d'un facteur chance en plus de la puissance de la carte.
_______________________________________________________________________________
_______________________________________________________
Téléchargeons profanity:
https://github.com/johguse/profanity/releasesNous en sommes actuellement à la version 1.22 "profanity-v1.22-x64.zip".
DDL:
https://github.com/johguse/profanity/releases/download/v1.22/profanity-v1.22-x64.zipPar soucis de simplicité nous décompressons le fichier dans C:\
Nous lançons ensuite une instance de l'invite de commande, ou de Powershell, au choix.
Nous nous rendons dans le dossier avec "cd C:\profanity"
Il est maintenant possible de débuter la recherche d'adresse. Pour les paranos, déconnectez votre machine d'internet, ou mieux, exécutez ceci sur un pc air gapped.
Admettons que nous souhaitons recherche une adresse du format 0xDEADBEEFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, c'est à dire avec le préfixe "DEADBEEF". Cela se traduit par la commande suivante :
profanity.exe --matching DEADBEEF
NB: Ma carte graphique était identifiée "GPU1" forçant à ignorer le "GPU0" avec le paramètre "-s 0" (=> profanity.exe -s 0 --matching DEADBEEF)
Plus qu'à attendre.
Comme toujours il est possible d'interrompre l'exécution en quittant l'invite de commandes ou avec ctrl + c. Une fois l'adresse trouvée il s'agit de bien noter la clé privée.
Outre la recherche de préfixes profanity propose aussi diverses options que vous pouvez explorer :
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
Score on hashes leading with given hex character.
--matching 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 Skip device given by index.
-n, --no-cache Don't load cached pre-compiled version of kernel.
Tweaking:
-w, --work Set OpenCL local work size. [default = 64]
-W, --work-max 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 [Anmerkung: Hat bei mir nicht funktioniert]
./profanity --leading-range -m 0 -M 1
./profanity --leading-range -m 10 -M 12
./profanity --range -m 0 -M 1
./profanity --contract --leading 0
About:
profanity is a vanity address generator for Ethereum that utilizes
computing power from GPUs using OpenCL.
Author: Johan Gustafsson
Beer donations: 0x000dead000ae1c8e8ac27103e4ff65f42a4e9203 Source : https://github.com/johguse/profanity
Pour information il existe aussi un service de nom de domaine ETH qui permet aussi d'avoir un lien de paiement personnalisé sans être une adresse en soit, sous la forme monnom.eth par exemple. Je publierai sous peu quelques infos là dessus une fois que j'aurais réussi à acquérir le mien.
Je me suis appuyé sur le
post de Nestade en Allemand pour la rédaction de ce guide.
Maintenant à vous !
Qui n'a pas rêvé d'une adresse
0x7EFAI5CACA...