文档

它是如何运作的

Scroll down
Vanitas 的完整介绍:虚荣采矿的工作原理、每个锻造厂生产什么、工人如何并行搜索以及如何验证没有任何东西离开您的机器。

01 — 概述

瓦尼塔斯是什么

Vanitas 是一个客户端多链虚荣地址锻造。您选择前缀和/或后缀;该应用程序搜索公共地址与该模式匹配的密钥对。 Generation 在您的 CPU 上的 Web Workers 中运行。私钥是在您设备的内存中创建的,并且永远不会上传。

虚荣地址仍然是普通的加密地址。私钥是随机的;只有公共编码会被过滤,直到它看起来像你想要的那样——对于品牌推广、捐赠、薄荷糖和令人难忘的公共钱包很有用。

在哪里

您的浏览器·您的CPU

仅静态托管;挖矿不进行网络调用

福吉斯

9条链+终端CLI

Solana · EVM · 比特币 · Tron · Aptos · Sui · TON · 卡尔达诺 · XRP

输出

地址+私钥

导出格式取决于伪造(JSON、十六进制、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、十六进制、bech32,...)。
  4. 与您的前缀/后缀(和模式规则)进行比较。
  5. 比赛时:停止工作人员,显示结果,可选声音/证明/导出。

工作线程跨 CPU 核心并行运行此循环。 UI 线程保持响应;进度(尝试、速率、预计到达时间)是从工作人员消息中聚合的。当一名工作人员发现命中时,池就会终止。

为什么这是安全的

搜索虚荣地址不会削弱私钥。您将拒绝候选人,直到公共地址看起来正确为止——这与生成随机密钥并保留幸运者的过程相同。

03 — 图案

难度、字母、警告

预期时间尺度与模式长度和字母大小有关。每个额外的字符都会增加搜索空间。 Forge UI 根据您的模式和测量或假设的哈希率显示实时难度估计。

Pattern length4 chars

~65,536

expected attempts · EVM · Aptos · Sui · 16n

Fig. — Difficulty explorer · drag length · pick alphabet

Base58

~58 个符号

Solana、Tron、XRP(XRPL 字母表)、比特币遗产

十六进制

16 个符号(0–9、a–f)

EVM、Aptos、Sui — 匹配时不区分大小写

贝奇32

bc1q / bc1p / 地址1…

比特币 SegWit/Taproot、Cardano — 修复了 HRP,然后是字符集

TON

Base64网址

UQ… / EQ… — 区分大小写

字母陷阱

  • Solana / Bitcoin Base58 — 无 0OIl(相似拒绝)。
  • EVM — 仅在 0x 之后的十六进制。超过 a–f 的字母无效。
  • Tron — 地址以 T 开头;下一个字符通常是大写的。区分大小写的小写前缀通常永远不会匹配。
  • 前缀+后缀——这两个限制都会增加难度。开始时短;一旦您知道了您的费率,就可以扩大模式。

04 — 链条

每个锻造,解释

九个熔炉共享相同的用户体验模式——选择一个模式,设置一个模式,启动工人——但每个链使用不同的曲线、哈希值和地址编码。

Solana

Ed25519 密钥对编码为 Base58(32 字节公钥)。当浏览器支持时,使用 Native Web Crypto Ed25519;否则 WASM 回退 (watsign)。模式:钱包薄荷 - 相同的关键数学; mint 框架用于启动板自定义 mint 流程。导出:Solana CLI JSON 字节数组。

EVM

secp256k1 → 未压缩的公钥 → keccak-256 → 最后 20 个字节 → 0x… 地址。一把私钥在以太坊、Base、Arbitrum、Optimism、BSC、Polygon 和所有其他 EVM 网络上生成相同的地址。模式:钱包(EOA)、CREATE at nonce 0、CREATE2(磨盐或磨部署器)。请参阅下面的模式。

Bitcoin

secp256k1。三种地址类型:传统 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) 作为十六进制。与 Petra、Martian 和其他导入十六进制秘密的 Aptos 钱包兼容。

Sui

Ed25519。地址 = blake2b-256(0x00 ‖ pubkey) 作为十六进制(标志字节标记方案)。使用十六进制私钥导入 Sui Wallet / Suiet。

TON

Ed25519 + 钱包合约 v4R2。地址采用用户友好的 Base64url 形式:UQ…(不可退回)和 EQ…(可退回)。匹配区分大小写。导入到 Tonkeeper / MyTonWallet。

Cardano

Ed25519 企业地址(CIP-19 类型 6,仅限付款密钥):标头 0x61 + Blake2b-224 付款哈希,bech32 与 HRP addraddr1…

XRP

secp256k1 压缩公钥 → RIPEMD160(SHA256) 帐户 ID → XRPL 经典 Base58 检查 → r…。注意:XRPL 使用与比特币不同的 Base58 字母表。

05 — 模式

钱包,薄荷,CREATE,CREATE2

薄荷

加密方式与钱包密钥对相同。 Launchpad 要求提供自定义的薄荷密钥对/私钥; Vanitas 将结果标记为完好,因此导出与该工作流程相匹配。打开/sol?mode=mint,找到一个模式,将密钥粘贴到pump.fun、Raydium、Meteora等中。

CREATE

从 EOA 部署的第一个合约(随机数为 0)具有确定性地址:keccak256(RLP([sender, 0]))[12:]。 Vanitas 会研磨 EOA,直到派生的合约地址与您的模式匹配。您收到部署者私钥 — 从新的 nonce-0 帐户部署一次。

CREATE2

地址 = keccak256(0xff ‖ deployer ‖ salt ‖ initCodeHash)[12:]。两种研磨策略:

  • create2-salt — 修复部署者密钥 + 初始化代码哈希;搜索产生虚荣地址的盐。
  • create2-deployer — 修复 salt + init 代码哈希;搜索 CREATE2 地址匹配的部署者密钥。

您必须提供正确的 initCodeHash (部署字节码的 keccak)。错误的哈希→错误的链上地址。

06 — 工人

性能架构

Worker 源位于 src/workers/*.worker.source.ts 下,并与 esbuild 捆绑到 public/*-worker.js 中。每个构建都会将 SHA-256 摘要写入 public/worker-hash.json 以获取 live audit

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

并行性

CPU 核心 - 1(默认)

如果机器发热或用户界面卡顿,请调整线程

索拉纳速度

本机 Ed25519(如有)

Chrome 113+ · Firefox 129+ · Safari 17+;否则 WASM

图书馆

@noble · tweetnacl · watsign · @ton/*

在浏览器中审核纯 JS / WASM 加密

找到后,可选的关键安全检查探测熵、CSPRNG 可用性以及随机字节的卡方均匀性测试 - 确认浏览器 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 参数的标志。当操作系统支持时,结果会写入模式为 0600 的 JSON 文件。封装:npmjs.com/package/vanitas

npx vanitas evm --模式合约 --前缀咖啡馆 --线程 8

09 — 验证

自己确认一下

  1. 打开 DevTools → 网络,清除日志,启动锻造 - 挖矿时您应该看到 没有请求
  2. 加载页面,离线,再次生成——它仍然有效。
  3. 运行 live audit 并将工作线程哈希值与 worker-hash.json 进行比较。
  4. 阅读 GitHub 的源代码 — 尤其是 src/workers/

提醒

在关闭选项卡之前保存您的私钥。丢失的钥匙无法恢复。对于大额余额:首先进行小额转账测试,首选硬件钱包进行长期保管,切勿将密钥粘贴到不受信任的网站。