Dokumente

Wie es funktioniert

Scroll down
Eine vollständige Tour durch Vanitas: Wie Vanity Mining funktioniert, was jede Schmiede produziert, wie Arbeiter parallel suchen und wie Sie sicherstellen, dass nichts Ihre Maschine verlässt.

01 – Übersicht

Was Vanitas ist

Vanitas ist eine clientseitige Multi-Chain-Vanity-Adressschmiede. Sie wählen ein Präfix und/oder Suffix; Die App sucht nach einem Schlüsselpaar, dessen öffentliche Adresse diesem Muster entspricht. Die Generierung läuft in Web Workern auf Ihrer CPU. Private Schlüssel werden im Speicher Ihres Geräts erstellt und niemals hochgeladen.

Eine Vanity-Adresse ist immer noch eine normale kryptografische Adresse. Der private Schlüssel ist zufällig; Nur die öffentliche Kodierung wird gefiltert, bis sie Ihren Wünschen entspricht – nützlich für Branding, Spenden, Münzprägungen und unvergessliche öffentliche Geldbörsen.

Wo

Ihr Browser · Ihre CPU

Nur statisches Hosting; Mining führt keine Netzwerkanrufe durch

Schmieden

9 Ketten + Terminal-CLI

Solana · EVM · Bitcoin · Tron · Aptos · Sui · TON · Cardano · XRP

Ausgabe

Adresse + privater Schlüssel

Exportformate hängen vom Forge ab (JSON, Hex, WIF, …)

02 – Pipeline

Die Suchschleife

Jede Schmiede folgt der gleichen Schleife auf hoher Ebene, die millionenfach wiederholt wird:

Vanitas search loopMISS → AGAIN01RNG02DERIVE03ENCODE04MATCH05DONE

Secure random

crypto.getRandomValues draws a fresh private key — full entropy, every attempt.

Fig. — Search loop · click a stage
  1. Zeichnen Sie einen kryptografisch sicheren zufälligen privaten Schlüssel (crypto.getRandomValues).
  2. Leiten Sie den öffentlichen Schlüssel mit der Kurve der Kette ab (Ed25519 oder secp256k1).
  3. Codieren Sie die Adresse so, wie es die Kette erwartet (Base58, Hex, Bech32, …).
  4. Vergleichen Sie mit Ihrem Präfix/Suffix (und Ihren Modusregeln).
  5. Bei Übereinstimmung: Arbeiter stoppen, Ergebnis anzeigen, optionaler Ton/Beweis/Export.

Worker führen diese Schleife parallel über alle CPU-Kerne hinweg aus. Der UI-Thread bleibt reaktionsfähig; Der Fortschritt (Versuche, Rate, voraussichtliche Ankunftszeit) wird aus Arbeiternachrichten aggregiert. Wenn ein Arbeiter einen Treffer findet, wird der Pool beendet.

Warum das sicher ist

Durch die Suche nach einer Vanity-Adresse wird der private Schlüssel nicht geschwächt. Sie lehnen Kandidaten ab, bis die öffentliche Ansprache richtig aussieht – der gleiche Vorgang wie das Generieren zufälliger Schlüssel und das Behalten des glücklichen Schlüssels.

03 – Muster

Schwierigkeit, Alphabete, Warnungen

Erwartete Zeitskalen mit Musterlänge und Alphabetgröße. Jedes zusätzliche Zeichen vervielfacht den Suchraum. Die Forge-Benutzeroberfläche zeigt eine Live-Schwierigkeitsschätzung basierend auf Ihrem Muster und einer gemessenen oder angenommenen Hash-Rate an.

Pattern length4 chars

~65,536

expected attempts · EVM · Aptos · Sui · 16n

Fig. — Difficulty explorer · drag length · pick alphabet

Base58

~58 Symbole

Solana, Tron, XRP (XRPL-Alphabet), Bitcoin-Erbe

Verhexen

16 Symbole (0–9, a–f)

EVM, Aptos, Sui – Groß-/Kleinschreibung wird beim Abgleich nicht beachtet

Bech32

bc1q / bc1p / addr1…

Bitcoin SegWit/Taproot, Cardano – HRP korrigiert, dann Zeichensatz

TON

Base64url

UQ… / EQ… – Groß- und Kleinschreibung beachten

Alphabetfallen

  • Solana / Bitcoin Base58 – kein 0, O, I oder l (ähnliche Ablehnung).
  • EVM – nur Hex nach 0x. Buchstaben über a–f hinaus sind ungültig.
  • Tron – Adressen beginnen mit T; Das nächste Zeichen ist normalerweise ein Großbuchstabe. Kleinschreibungspräfixe, bei denen die Groß-/Kleinschreibung beachtet wird, stimmen oft nie überein.
  • Präfix + Suffix – beide Einschränkungen vervielfachen den Schwierigkeitsgrad. Fangen Sie kurz an; Erweitern Sie das Muster, sobald Sie Ihre Rate kennen.

04 – Ketten

Jede Schmiede, erklärt

Neun Schmieden teilen das gleiche UX-Muster – wählen Sie einen Modus, legen Sie ein Muster fest, starten Sie Worker – aber jede Kette verwendet unterschiedliche Kurven, Hashes und Adresskodierungen.

Solana

Ed25519-Schlüsselpaare, codiert als Base58 (öffentlicher 32-Byte-Schlüssel). Native Web Crypto Ed25519 wird verwendet, wenn der Browser dies unterstützt; andernfalls ein WASM-Fallback (watsign). Modi: Wallet und Mint – gleiche Schlüsselmathematik; Mint-Framing ist für benutzerdefinierte Launchpad-Mint-Flows vorgesehen. Export: Solana CLI JSON-Byte-Array.

EVM

secp256k1 → unkomprimierter Pubkey → keccak-256 → letzte 20 Bytes → 0x…-Adresse. Ein privater Schlüssel liefert dieselbe Adresse in Ethereum, Base, Arbitrum, Optimism, BSC, Polygon und jedem anderen EVM-Netzwerk. Modi: Wallet (EOA), CREATE bei Nonce 0, CREATE2 (Grind Salt oder Grind Deployer). Siehe Modi unten.

Bitcoin

secp256k1. Drei Adresstypen: Legacy P2PKH (1…), nativer SegWit P2WPKH (bc1q…), Taproot P2TR (bc1p…). Der Export umfasst WIF (komprimiert) für den Wallet-Import. Das führende HRP-/Versionsbyte wird bei der Eingabe von Präfixen für Sie gehandhabt.

Tron

Gleicher secp256k1 + Keccak-Pfad wie EVM für die 20-Byte-Konto-ID, dann Base58Check mit Versionsbyte 0x41T…. Modi: Wallet und CREATE (Nonce 0), wobei das gleiche RLP-Layout wie bei EVM und dann die Tron-Codierung verwendet wird.

Aptos

Ed25519. Adresse = sha3-256(pubkey ‖ 0x00) als Hex. Kompatibel mit Petra-, Martian- und anderen Aptos-Wallets, die Hex-Geheimnisse importieren.

Sui

Ed25519. Adresse = blake2b-256(0x00 ‖ pubkey) als Hex (Flag-Byte markiert das Schema). Mit dem privaten Hex-Schlüssel in Sui Wallet / Suiet importieren.

TON

Ed25519 + Wallet-Vertrag v4R2. Adressen sind benutzerfreundliche Base64url-Formulare: UQ… (nicht bouncebar) und EQ… (bounceable). Beim Matching wird die Groß-/Kleinschreibung beachtet. Import in Tonkeeper / MyTonWallet.

Cardano

Ed25519 Unternehmensadresse (CIP-19 Typ 6, nur Zahlungsschlüssel): Header 0x61 + Blake2b-224 Zahlungs-Hash, bech32 mit HRP addraddr1….

XRP

secp256k1 komprimierter Pubkey → RIPEMD160(SHA256) Konto-ID → XRPL Classic Base58 Check → r…. Hinweis: XRPL verwendet ein anderes Base58-Alphabet als Bitcoin.

05 – Modi

Geldbörse, Mint, CREATE, CREATE2

Minze

Kryptografisch identisch mit einem Wallet-Schlüsselpaar. Launchpads verlangen ein benutzerdefiniertes Mint-Schlüsselpaar/privaten Schlüssel; Vanitas kennzeichnet das Ergebnis als „Mint“, sodass der Export diesem Workflow entspricht. Öffnen Sie /sol?mode=mint, suchen Sie ein Muster, fügen Sie den Schlüssel in pump.fun, Raydium, Meteora usw. ein.

CREATE

Der erste von einem EOA mit Nonce 0 bereitgestellte Vertrag hat eine deterministische Adresse: keccak256(RLP([sender, 0]))[12:]. Vanitas bearbeitet EOAs, bis die abgeleitete Vertragsadresse Ihrem Muster entspricht. Sie erhalten den privaten Schlüssel des Bereitstellers – stellen Sie ihn einmal von einem neuen Nonce-0-Konto bereit.

CREATE2

Adresse = keccak256(0xff ‖ deployer ‖ salt ‖ initCodeHash)[12:]. Zwei Grind-Strategien:

  • create2-salt – Deployer-Schlüssel + Init-Code-Hash korrigieren; Suchen Sie nach einem Salz, das die Vanity-Adresse liefert.
  • create2-deployer – Salt + Init-Code-Hash reparieren; Suchen Sie nach einem Deployer-Schlüssel, dessen CREATE2-Adresse übereinstimmt.

Sie müssen einen korrekten initCodeHash (Keccak des Bereitstellungsbytecodes) angeben. Falscher Hash → falsche On-Chain-Adresse.

06 – Arbeiter

Leistungsarchitektur

Worker-Quellen befinden sich unter src/workers/*.worker.source.ts und werden mit esbuild in public/*-worker.js gebündelt. Jeder Build schreibt SHA-256-Digests für live audit in public/worker-hash.json.

Parallel workers4
Web Worker poolMAIN THREADUI · progress · stopW1GRINDW2GRINDW3GRINDW4GRINDFIRST HIT → TERMINATE POOL
Fig. — Worker pool · adjust threads

Parallelität

CPU-Kerne − ​​1 (Standard)

Passen Sie die Fäden an, wenn sich die Maschine erwärmt oder die Benutzeroberfläche stottert

Solana-Geschwindigkeit

Native Ed25519, sofern verfügbar

Chrome 113+ · Firefox 129+ · Safari 17+; sonst WASM

Bibliotheken

@noble · tweetnacl · watsign · @ton/*

Überprüfte reine JS/WASM-Kryptowährung im Browser

Nach einem Fund prüfen optionale Schlüsselsicherheitsüberprüfungen die Entropie, die CSPRNG-Verfügbarkeit und einen Chi-Quadrat-Gleichmäßigkeitstest für zufällige Bytes – um zu bestätigen, dass der RNG-Pfad des Browsers fehlerfrei aussieht.

07 – Beweis

Fundnachweis

Share Proof erstellt einen öffentlichen Link zu /proof nur mit Kette, Adresse und Muster – niemals dem privaten Schlüssel. Jeder kann den Link öffnen und überprüfen, ob die Adresse clientseitig mit dem beanspruchten Präfix/Suffix übereinstimmt.

In the proof

  • Public address
  • Prefix / suffix pattern
  • Chain · mode · timestamp

Never in the link

  • Private key / seed
  • Worker memory dumps
  • Clipboard or exports
Fig. — Proof of find · shareable vs private

Aktuelle Funde in der Benutzeroberfläche verwenden sessionStorage nur für Adress- und Mustermetadaten. Durch Schließen der Registerkarte wird dieser Verlauf gelöscht. Schlüssel werden dort nicht gespeichert.

08 – CLI

Terminalschmiede

Dieselbe Idee außerhalb des Browsers: npx vanitas öffnet einen Assistenten oder übergibt Flags für Ketten-, Modus-, Präfix-, Threads- und CREATE2-Parameter. Die Ergebnisse schreiben eine JSON-Datei mit dem Modus 0600, wenn das Betriebssystem dies unterstützt. Paket: npmjs.com/package/vanitas.

npx vanitas evm --modetract --prefix cafe --threads 8

09 – Überprüfen

Bestätigen Sie es selbst

  1. Öffnen Sie DevTools → Netzwerk, löschen Sie das Protokoll, starten Sie einen Forge – beim Mining sollten keine Anfragen angezeigt werden.
  2. Laden Sie die Seite, gehen Sie offline, generieren Sie erneut – es funktioniert immer noch.
  3. Führen Sie live audit aus und vergleichen Sie die Worker-Hashes mit worker-hash.json.
  4. Lesen Sie die Quelle zu GitHub – insbesondere src/workers/.

Erinnerung

Speichern Sie Ihren privaten Schlüssel, bevor Sie den Tab schließen. Verlorene Schlüssel können nicht wiederhergestellt werden. Für große Guthaben: Testen Sie zunächst mit einer kleinen Überweisung, bevorzugen Sie Hardware-Wallets für die langfristige Aufbewahrung und geben Sie Schlüssel niemals auf nicht vertrauenswürdigen Websites ein.