ドキュメント

仕組み

Scroll down
Vanitas の完全なツアー: バニティ マイニングの仕組み、各鍛冶場で何が生成されるか、ワーカーがどのように並行して検索するか、マシンから何も出ていないことを確認する方法。

01 — 概要

ヴァニタスとは

Vanitas は、クライアント側のマルチチェーン バニティ アドレス フォージです。プレフィックスやサフィックスを選択します。アプリは、パブリック アドレスがそのパターンに一致するキーペアを検索します。生成は、CPU 上の Web ワーカー で実行されます。秘密キーはデバイスのメモリ内に作成され、アップロードされることはありません。

バニティ アドレスは通常の暗号化アドレスのままです。秘密キーはランダムです。パブリック エンコーディングのみが希望どおりになるまでフィルタリングされます。これは、ブランド化、寄付、造幣局、記憶に残るパブリック ウォレットに役立ちます。

どこ

あなたのブラウザ · あなたの CPU

静的ホスティングのみ。マイニングではネットワーク呼び出しは行われません

鍛造品

9 チェーン + ターミナル CLI

ソラナ・EVM・ビットコイン・トロン・アプトス・スイ・TON・カルダノ・XRP

出力

アドレス + 秘密鍵

エクスポート形式はフォージによって異なります (JSON、16 進数、WIF など)。

02 — パイプライン

検索ループ

すべてのフォージは同じ高レベルのループに従い、何百万回も繰り返されます。

Vanitas search loopMISS → AGAIN01RNG02DERIVE03ENCODE04MATCH05DONE

Secure random

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

Fig. — Search loop · click a stage
  1. 暗号的に安全なランダム秘密キー (crypto.getRandomValues) を描画します。
  2. チェーンのカーブ (Ed25519 または secp256k1) を使用して公開キーを導出します。
  3. チェーンが予期する方法 (Base58、hex、bech32 など) でアドレスをエンコードします。
  4. プレフィックス/サフィックス (およびモード ルール) と比較してください。
  5. 一致時: ワーカーを停止し、結果を表示します。オプションのサウンド/プルーフ/エクスポート。

ワーカーはこのループを CPU コア間で並行して実行します。 UI スレッドは応答性を維持します。進捗状況 (試行回数、レート、ETA) はワーカー メッセージから集計されます。 1 つのワーカーがヒットを見つけると、プールは終了します。

これが安全な理由

バニティ アドレスを検索しても、秘密キーは弱くなりません。公開アドレスが適切であると思われるまで、候補者を拒否することになります。これは、ランダムなキーを生成し、幸運なキーを保持するのと同じプロセスです。

03 — パターン

難易度、アルファベット、注意事項

予想される時間はパターンの長さとアルファベットのサイズに応じて変化します。余分な文字ごとに検索スペースが増加します。 Forge UI には、パターンと測定または想定されたハッシュ レートに基づいたライブ難易度の推定値が表示されます。

Pattern length4 chars

~65,536

expected attempts · EVM · Aptos · Sui · 16n

Fig. — Difficulty explorer · drag length · pick alphabet

Base58

~58 シンボル

ソラナ、トロン、XRP (XRPL アルファベット)、ビットコインレガシー

16進数

16 個の記号 (0 ~ 9、a ~ f)

EVM、Aptos、Sui — マッチングでは大文字と小文字を区別しない

ベック32

bc1q / bc1p / addr1…

ビットコイン SegWit/Taproot、Cardano — 固定 HRP、次に文字セット

TON

Base64url

UQ… / EQ… — 大文字と小文字が区別されます

アルファベットの罠

  • Solana / Bitcoin Base580OI、または l (類似拒否) はありません。
  • EVM0x 以降の 16 進数のみ。 a–f を超える文字は無効です。
  • Tron — アドレスは T で始まります。次の文字は通常大文字です。大文字と小文字が区別される小文字の接頭辞は一致しないことがよくあります。
  • プレフィックス + サフィックス — 両方の制約により難易度が倍増します。短く始めてください。自分のレートがわかったら、パターンを拡大してください。

04 — チェーン

すべての鍛冶の説明

9 つのフォージは同じ UX パターン (モードの選択、パターンの設定、ワーカーの開始) を共有しますが、各チェーンは異なるカーブ、ハッシュ、アドレス エンコーディングを使用します。

Solana

Ed25519 キーペアは Base58 (32 バイトの公開キー) としてエンコードされます。 Native Web Crypto Ed25519 は、ブラウザがサポートしている場合に使用されます。それ以外の場合は、WASM フォールバック (watsign)。モード: walletmint — 同じキー計算。 mint フレーミングは Launchpad のカスタム mint フロー用です。エクスポート: Solana CLI JSON バイト配列。

EVM

secp256k1 → 非圧縮公開鍵 → keccak-256 → 最後の 20 バイト → 0x… アドレス。 1 つの秘密キーは、Ethereum、Base、Arbitrum、Optimism、BSC、Polygon、およびその他すべての EVM ネットワーク上で同じアドレスを生成します。モード: ウォレット (EOA)、ノンス 0 での作成、CREATE2 (グラインド ソルトまたはグラインド デプロイヤ)。以下のモードを参照してください。

Bitcoin

secp256k1。 3 つのアドレス タイプ: レガシー P2PKH (1…)、ネイティブ SegWit P2WPKH (bc1q…)、Taproot P2TR (bc1p…)。エクスポートには、ウォレットのインポート用の WIF (圧縮) が含まれます。先頭の HRP / バージョン バイトは、プレフィックスを入力するときに処理されます。

Tron

20 バイトのアカウント ID の EVM と同じ secp256k1 + keccak パス、その後、バージョン バイト 0x41T… で Base58Check します。モード: ウォレットおよび CREATE (nonce 0)。EVM と同じ RLP レイアウトを使用し、次に Tron エンコーディングを使用します。

Aptos

Ed25519。アドレス = sha3-256(pubkey ‖ 0x00) (16 進数)。 Petra、Martian、および 16 進シークレットをインポートするその他の Aptos ウォレットと互換性があります。

Sui

Ed25519。アドレス = blake2b-256(0x00 ‖ pubkey) (16 進数) (フラグ バイトはスキームをマークします)。 16 進秘密キーを使用して、Sui Wallet / Suitet にインポートします。

TON

Ed25519 + ウォレット コントラクト v4R2。アドレスはユーザーフレンドリーな Base64url 形式です: UQ… (バウンス不可) および EQ… (バウンス可能)。一致では大文字と小文字が区別されます。 Tonkeeper / MyTonWallet にインポートします。

Cardano

Ed25519 エンタープライズ アドレス (CIP-19 タイプ 6、支払いキーのみ): ヘッダー 0x61 + Blake2b-224 支払いハッシュ、HRP addraddr1… の bech32。

XRP

secp256k1 圧縮公開鍵 → RIPEMD160(SHA256) アカウント ID → XRPL クラシック Base58 チェック → r…。注: XRPL は、ビットコインとは異なる Base58 アルファベットを使用します。

05 — モード

ウォレット、ミント、CREATE、CREATE2

ミント

暗号的にはウォレットのキーペアと同一です。 Launchpad はカスタムのミント キーペア/秘密キーを要求します。 Vanitas は、エクスポートがそのワークフローと一致するように、結果に「ミント」というラベルを付けます。 /sol?mode=mint を開いてパターンを見つけ、そのキーを Pump.fun、Raydium、Meteora などに貼り付けます。

CREATE

nonce 0 の EOA からデプロイされた最初のコントラクトには、決定的なアドレス keccak256(RLP([sender, 0]))[12:] があります。 Vanitas は、派生したコントラクト アドレスがパターンと一致するまで EOA を粉砕します。デプロイヤーの秘密キーを受け取ります。新しい nonce-0 アカウントから 1 回デプロイします。

CREATE2

アドレス = keccak256(0xff ‖ deployer ‖ salt ‖ initCodeHash)[12:]。 2 つのグラインド戦略:

  • create2-salt — デプロイヤ キー + 初期化コード ハッシュを修正します。バニティ アドレスを生成するソルトを検索します。
  • create2-deployer — ソルト + 初期化コード ハッシュを修正します。 CREATE2 アドレスが一致するデプロイヤ キーを検索します。

正しい initCodeHash (展開バイトコードの keccak) を指定する必要があります。間違ったハッシュ→間違ったオンチェーンアドレス。

06 — 労働者

パフォーマンスアーキテクチャ

ワーカー ソースは src/workers/*.worker.source.ts の下に存在し、esbuild とともに public/*-worker.js にバンドルされます。各ビルドは、live auditpublic/worker-hash.json に SHA-256 ダイジェストを書き込みます。

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

平行度

CPU コア - 1 (デフォルト)

マシンが熱くなったり、UI が途切れたりする場合はスレッドを調整します。

ソラナのスピード

ネイティブ Ed25519 (利用可能な場合)

Chrome 113 以降、Firefox 129 以降、Safari 17 以降。それ以外の場合は WASM

図書館

@noble · tweetnacl · watsign · @ton/*

ブラウザーで監査された pure-JS / WASM 暗号

検索後、オプションの 重要なセキュリティ チェック により、エントロピー、CSPRNG の可用性、およびランダム バイトのカイ 2 乗均一性テストが検査され、ブラウザーの RNG パスが正常であることが確認されます。

07 — 証明

発見の証拠

証明の共有は、チェーン、アドレス、パターンのみを使用して /proof へのパブリック リンクを構築します。秘密キーは構築しません。誰でもリンクを開いて、アドレスがクライアント側で要求されたプレフィックス/サフィックスと一致することを確認できます。

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

UI で最近見つかったものでは、アドレスとパターンのメタデータのみに sessionStorage が使用されています。タブを閉じるとその履歴は消去されます。キーはそこに保存されません。

08 — CLI

端子鍛造

ブラウザの外でも同じ考え方です。npx vanitas はウィザードを開くか、チェーン、モード、プレフィックス、スレッド、および CREATE2 パラメーターのフラグを渡します。 OS がサポートしている場合、結果はモード 0600 で JSON ファイルを書き込みます。パッケージ: npmjs.com/package/vanitas

npx vanitas evm --mode Contract --prefix Cafe --threads 8

09 — 確認する

自分で確認してください

  1. DevTools → Network を開き、ログをクリアし、Forge を開始します。マイニング中は リクエストがない ことが表示されます。
  2. ページをロードし、オフラインにして、再度生成しても、引き続き機能します。
  3. live audit を実行し、ワーカー ハッシュを worker-hash.json と比較します。
  4. GitHub、特に src/workers/ のソースを読んでください。

リマインダー

タブを閉じる前に秘密キーを保存してください。紛失したキーは回復できません。残高が大きい場合: 最初に少額の送金でテストし、長期保管にはハードウェア ウォレットを好み、信頼できないサイトにはキーを貼り付けないでください。