01 — Aperçu
Qu'est-ce que Vanitas
Vanitas est une forge d'adresses personnalisées multi-chaînes côté client. Vous choisissez un préfixe et/ou un suffixe ; l'application recherche une paire de clés dont l'adresse publique correspond à ce modèle. La génération s'exécute dans Web Workers sur votre processeur. Les clés privées sont créées en mémoire sur votre appareil et ne sont jamais téléchargées.
Une adresse personnalisée est toujours une adresse cryptographique normale. La clé privée est aléatoire ; seul l'encodage public est filtré jusqu'à ce qu'il ressemble à ce que vous souhaitez – utile pour l'image de marque, les dons, les monnaies et les portefeuilles publics mémorables.
Où
Votre navigateur · votre CPU
Hébergement statique uniquement ; le minage ne fait aucun appel réseau
Forges
9 chaînes + borne CLI
Solana · EVM · Bitcoin · Tron · Aptos · Sui · TON · Cardano · XRP
Sortir
Adresse + clé privée
Les formats d’export dépendent de la forge (JSON, hex, WIF, …)
02 — Pipeline
La boucle de recherche
Chaque forge suit la même boucle de haut niveau, répétée des millions de fois :
Secure random
crypto.getRandomValues draws a fresh private key — full entropy, every attempt.
- Dessinez une clé privée aléatoire cryptographiquement sécurisée (
crypto.getRandomValues). - Dérivez la clé publique avec la courbe de la chaîne (Ed25519 ou secp256k1).
- Encodez l'adresse comme prévu par la chaîne (Base58, hex, bech32, …).
- Comparez avec votre préfixe/suffixe (et vos règles de mode).
- Sur match : arrêter les ouvriers, afficher le résultat, son/preuve/export en option.
Les travailleurs exécutent cette boucle en parallèle sur les cœurs du processeur. Le fil de discussion de l'interface utilisateur reste réactif ; la progression (tentatives, taux, ETA) est agrégée à partir des messages du travailleur. Lorsqu'un travailleur trouve un résultat positif, le pool est terminé.
Pourquoi c'est sécurisé
La recherche d'une adresse personnalisée n'affaiblit pas la clé privée. Vous rejetez des candidats jusqu'à ce que l'adresse publique semble correcte – le même processus que pour générer des clés aléatoires et conserver la plus chanceuse.
03 — Modèles
Difficulté, alphabets, avertissements
Échelles de temps attendues avec la longueur du motif et la taille de l'alphabet. Chaque caractère supplémentaire multiplie l'espace de recherche. L'interface utilisateur de Forge affiche une estimation de la difficulté en direct basée sur votre modèle et un taux de hachage mesuré ou supposé.
~65,536
expected attempts · EVM · Aptos · Sui · 16n
Base58
~58 symboles
Solana, Tron, XRP (alphabet XRPL), héritage Bitcoin
Hex
16 symboles (0–9, a–f)
EVM, Aptos, Sui – insensible à la casse pour la correspondance
Bech32
bc1q / bc1p / adresse1…
Bitcoin SegWit/Taproot, Cardano – correction du HRP, puis du jeu de caractères
TON
URL de base64
UQ… / EQ… – sensible à la casse
Pièges alphabétiques
- Solana / Bitcoin Base58 — pas de
0,O,Ioul(rejet de sosie). - EVM — uniquement hexadécimal après
0x. Les lettres au-delà dea–fne sont pas valides. - Tron — les adresses commencent par
T; le caractère suivant est généralement en majuscule. Les préfixes minuscules sensibles à la casse ne correspondent souvent jamais. - Préfixe + suffixe — les deux contraintes multiplient la difficulté. Commencez court ; développez le modèle une fois que vous connaissez votre taux.
04 — Chaînes
Chaque forge expliquée
Neuf forges partagent le même modèle UX – choisissez un mode, définissez un modèle, démarrez les travailleurs – mais chaque chaîne utilise des courbes, des hachages et des encodages d'adresse différents.
Solana
Paires de clés Ed25519 codées en Base58 (clé publique de 32 octets). Native Web Crypto Ed25519 est utilisé lorsque le navigateur le prend en charge ; sinon un repli WASM (watsign). Modes : wallet et mint — mêmes calculs clés ; Le cadrage menthe est destiné aux flux menthe personnalisés du tableau de bord. Exporter : tableau d'octets Solana CLI JSON.
EVM
secp256k1 → clé publique non compressée → keccak-256 → 20 derniers octets → adresse 0x…. Une clé privée donne la même adresse sur Ethereum, Base, Arbitrum, Optimism, BSC, Polygon et tous les autres réseaux EVM. Modes : portefeuille (EOA), CREATE à occasionnel 0, CREATE2 (grind salt ou grind déployer). Voir Modes ci-dessous.
Bitcoin
secp256k1. Trois types d'adresses : P2PKH hérité (1…), SegWit P2WPKH natif (bc1q…), Taproot P2TR (bc1p…). L'exportation inclut WIF (compressé) pour l'importation de portefeuille. L'octet HRP/version de tête est géré pour vous lors de la saisie des préfixes.
Tron
Même chemin secp256k1 + keccak que EVM pour l'ID de compte de 20 octets, puis Base58Check avec l'octet de version 0x41 → T…. Modes : wallet et CREATE (nonce 0), utilisant la même disposition RLP que l'encodage EVM puis Tron.
Aptos
Ed25519. Adresse = sha3-256(pubkey ‖ 0x00) en hexadécimal. Compatible avec les portefeuilles Petra, Martian et autres Aptos qui importent des secrets hexadécimaux.
Sui
Ed25519. Adresse = blake2b-256(0x00 ‖ pubkey) en hexadécimal (l'octet d'indicateur marque le schéma). Importez dans Sui Wallet / Suiet avec la clé privée hexadécimale.
TON
Ed25519 + Contrat de portefeuille v4R2. Les adresses sont des formulaires Base64url conviviaux : UQ… (non rebondissant) et EQ… (rebondissant). La correspondance est sensible à la casse. Importez dans Tonkeeper / MyTonWallet.
Cardano
Adresse d'entreprise Ed25519 (CIP-19 type 6, clé de paiement uniquement) : en-tête 0x61 + hachage de paiement Blake2b-224, bech32 avec HRP addr → addr1….
XRP
Clé publique compressée secp256k1 → ID de compte RIPEMD160 (SHA256) → Contrôle XRPL classique Base58 → r…. Remarque : XRPL utilise un alphabet Base58 différent de celui de Bitcoin.
05 — Modes
Portefeuille, menthe, CREATE, CREATE2
Menthe
Cryptographiquement identique à une paire de clés de portefeuille. Les Launchpads demandent une paire de clés Mint/clé privée personnalisée ; Vanitas qualifie le résultat de menthe afin que l'exportation corresponde à ce flux de travail. Ouvrez /sol?mode=mint, trouvez un motif, collez la clé dans pump.fun, Raydium, Meteora, etc.
CREATE
Le premier contrat déployé à partir d'un EOA avec un nonce 0 a une adresse déterministe : keccak256(RLP([sender, 0]))[12:]. Vanitas broie les EOA jusqu'à ce que cette adresse de contrat dérivée corresponde à votre modèle. Vous recevez la clé privée du déployeur : déployez une fois à partir d'un nouveau compte nonce-0.
CREATE2
Adresse = keccak256(0xff ‖ deployer ‖ salt ‖ initCodeHash)[12:]. Deux stratégies de mouture :
- create2-salt — correction de la clé du déployeur + hachage du code d'initialisation ; recherchez un sel qui donne l'adresse personnalisée.
- create2-deployer — correction du hachage du code salt + init ; recherchez une clé de déploiement dont l'adresse CREATE2 correspond.
Vous devez fournir un initCodeHash correct (keccak du bytecode de déploiement). Mauvais hachage → mauvaise adresse en chaîne.
06 — Travailleurs
Architecture performante
Les sources de travail vivent sous src/workers/*.worker.source.ts et sont regroupées avec esbuild dans public/*-worker.js. Chaque build écrit les résumés SHA-256 dans public/worker-hash.json pour le live audit.
Parallélisme
Cœurs de processeur - 1 (par défaut)
Ajustez les fils si la machine chauffe ou si l'interface utilisateur bégaie
Vitesse Solana
Natif Ed25519 lorsque disponible
Chrome 113+ · Firefox 129+ · Safari 17+ ; sinon WASM
Bibliothèques
@noble · tweetnacl · watsign · @ton/*
Crypto pur-JS / WASM audité dans le navigateur
Après une recherche, des vérifications de sécurité clés facultatives sondent l'entropie, la disponibilité de CSPRNG et un test d'uniformité du chi carré sur des octets aléatoires — confirmant que le chemin RNG du navigateur semble sain.
07 — Preuve
Preuve de découverte
Share proof crée un lien public vers /proof avec une chaîne, une adresse et un modèle uniquement — jamais la clé privée. N'importe qui peut ouvrir le lien et vérifier que l'adresse correspond au préfixe/suffixe revendiqué côté client.
In the proof
- Public address
- Prefix / suffix pattern
- Chain · mode · timestamp
Never in the link
- Private key / seed
- Worker memory dumps
- Clipboard or exports
Les découvertes récentes dans l'interface utilisateur utilisent sessionStorage uniquement pour les métadonnées d'adresse et de modèle. La fermeture de l'onglet efface cet historique ; les clés n’y sont pas stockées.
08 — CLI
Forge terminale
Même idée en dehors du navigateur : npx vanitas ouvre un assistant ou transmet des indicateurs pour les paramètres chaîne, mode, préfixe, threads et CREATE2. Les résultats écrivent un fichier JSON avec le mode 0600 lorsque le système d'exploitation le prend en charge. Forfait : npmjs.com/package/vanitas.
npx vanitas evm --mode contrat --prefix café --threads 8
09 — Vérifier
Confirmez-le vous-même
- Ouvrez DevTools → Réseau, effacez le journal, démarrez une forge — vous ne devriez voir aucune demande pendant l'exploitation minière.
- Chargez la page, déconnectez-vous, générez à nouveau – cela fonctionne toujours.
- Exécutez le live audit et comparez les hachages des travailleurs à
worker-hash.json. - Lisez la source sur GitHub – en particulier
src/workers/.
Rappel
Enregistrez votre clé privée avant de fermer l'onglet. Les clés perdues ne peuvent pas être récupérées. Pour les soldes importants : testez d'abord avec un petit transfert, préférez les portefeuilles matériels pour une conservation à long terme et ne collez jamais de clés sur des sites non fiables.










