oritwoen/vgen
GitHub: oritwoen/vgen
一个基于 Rust 和 GPU 加速的加密货币靓号地址生成器,支持正则表达式匹配多种地址格式,并可进行比特币谜题范围扫描。
Stars: 10 | Forks: 5
# vgen
[](https://crates.io/crates/vgen)
[](https://crates.io/crates/vgen)
[](LICENSE)
[](https://deepwiki.com/oritwoen/vgen)
带有正则表达式模式匹配和 GPU 加速的比特币靓号地址生成器。
## 功能
- 生成匹配自定义正则表达式的加密货币地址
- 多种地址格式:P2PKH (1...)、P2WPKH (bc1q...)、P2TR (bc1p...)、P2SH-P2WPKH (3...)、Ethereum (0x...)
- 通过 wgpu 实现的 GPU 加速(支持 Vulkan/Metal/DX12/OpenGL 后端)
- 使用 rayon 进行并行 CPU 扫描
- 带有实时统计数据的交互式 TUI
- 用于比特币谜题挑战的范围扫描
- 用于谜题/赏金集成的数据提供者 (boha)
- 输出格式:text、JSON、JSON Lines、CSV、minimal
## 安装
### 从 crates.io 安装
```
cargo install vgen
```
### Arch Linux (AUR)
```
paru -S vgen
```
### 从源码安装
```
cargo install --path .
```
## 使用方法
### 生成靓号地址
```
# 查找以 "1Cat" 开头的地址
vgen generate -p "^1Cat"
# 不区分大小写匹配
vgen generate -p "^1cat" -i
# 以 "dead" 结尾的 Bech32 地址
vgen generate -p "dead$" -f p2wpkh
# Taproot 地址
vgen generate -p "^bc1p.*cat" -f p2tr
# P2SH-P2WPKH (嵌套 SegWit)
vgen generate -p "^3Cat" -f p2sh-p2wpkh
# Ethereum 地址
vgen generate -p "^0xdead" -f ethereum
# 仅 CPU (默认启用 GPU)
vgen generate -p "^1Cat" --no-gpu
# 选择特定的 GPU 后端
vgen generate -p "^1Cat" --backend vulkan
# 查找多个匹配项
vgen generate -p "^1Cat" -c 5
# 安静模式
vgen generate -p "^1Cat" -q
```
### 估算难度
```
vgen estimate -p "^1CatDog"
```
### 扫描密钥范围(比特币谜题)
```
# 扫描 puzzle #66 范围
vgen range --puzzle 66 -p "."
# 自定义范围
vgen range -r "20000000000000000:3FFFFFFFFFFFFFFFF"
```
### 数据提供者
使用外部数据源进行模式生成:
```
# 带有 puzzle 地址前缀 (6个字符) 的 Vanity
vgen generate -p "boha:b1000:66" -l 6
# → 解析为模式:^13zb1h
# Puzzle 求解 (精确地址匹配 + 自动密钥范围)
vgen range -p "boha:b1000:66"
# → 范围:2^65..2^66-1
# → 模式:^13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so$
# 在范围模式下使用前缀匹配
vgen range -p "boha:b1000:66" -l 8
```
支持的提供者:
- `boha:collection:id` - [boha](https://github.com/oritwoen/boha) 谜题库 (b1000, gsmg, bitaps 等)
### 验证私钥
```
# 从 WIF 生成
vgen verify -k "5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ"
# 从十六进制生成
vgen verify -k "0c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d"
# 根据预期地址进行验证
vgen verify -k "5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ" -a "1GAehh7TsJAHuUAeKZcXf5CnwuGuGgyX2S"
```
### 列出 GPU
```
vgen list-gpus
```
## 输出格式
```
# 默认文本输出
vgen generate -p "^1Cat" -o text
# JSON 输出 (格式化打印)
vgen generate -p "^1Cat" -o json
# JSON Lines (每行一个 JSON 对象,用于数据管道)
vgen generate -p "^1Cat" -o jsonl
# CSV (带表头,用于数据目录/Iceberg)
vgen generate -p "^1Cat" -o csv
# 极简 (仅 WIF)
vgen generate -p "^1Cat" -o minimal
# 写入文件
vgen generate -p "^1Cat" -o jsonl --file results.jsonl
vgen generate -p "^1Cat" -o csv --file results.csv
```
## TUI

在终端会话中,默认启用交互式 TUI。使用 `--no-tui` 可将其禁用。
功能:
- 实时算力显示
- 性能火花线图
- 运气指标
- 找到的匹配列表
## 性能
GPU 加速默认开启,如果未找到兼容的 GPU,则回退到 CPU。使用 `--backend` 可强制指定后端 (vulkan, metal, dx12, gl),或使用 `--no-gpu` 仅运行 CPU。
- CPU:约 50,000-200,000 密钥/秒(取决于 CPU)
- GPU:约 500,000-2,000,000 密钥/秒(取决于 GPU)
## 模式语法
模式使用 Rust 正则表达式语法:
| Pattern | Description |
|---------|-------------|
| `^1Cat` | 以 "1Cat" 开头 |
| `dead$` | 以 "dead" 结尾 |
| `^1[Cc]at` | 以 "1Cat" 或 "1cat" 开头 |
| `^1.*dead$` | 以 "1" 开头,以 "dead" 结尾 |
## 比较
| Project | Language | GPU | Patterns | Notes |
|---------|----------|-----|----------|-------|
| **vgen** | Rust | wgpu (Vulkan/Metal/DX12) | regex | TUI,范围扫描,内存安全 |
| [VanitySearch](https://github.com/JeanLucPons/VanitySearch) | C++ | CUDA | prefix | 最快(约 7 Gkeys/s),仅限 NVIDIA |
| [vanitygen-plusplus](https://github.com/10gic/vanitygen-plusplus) | C++ | OpenCL | prefix/regex | 支持 100+ 种加密货币 |
| [btc-vanity](https://github.com/Emivvvvv/btc-vanity) | Rust | - | prefix/regex | BTC/ETH/SOL,仅限 CPU |
| [nakatoshi](https://github.com/ndelvalle/nakatoshi) | Rust | - | prefix | 简单,仅支持前缀 |
| [supervanitygen](https://github.com/klynastor/supervanitygen) | C | - | prefix | ASM 优化 (AVX2/SHA-NI) |
| [vanitygen](https://github.com/samr7/vanitygen) | C | - | prefix/regex | 经典版本,已停止维护 |
**为什么选择 vgen?**
- 通过 wgpu 实现跨平台 GPU 支持(不局限于 NVIDIA CUDA)
- 内存安全的 Rust 实现
- 完整的正则表达式模式支持
- 带有实时统计数据的交互式 TUI
- 内置比特币谜题范围扫描
## Agent 技能
本项目包含 [agent skills](https://skills.sh/),旨在教授 AI 编程代理如何使用 vgen。
### 静态技能
由项目作者精心整理:
```
npx skills add oritwoen/vgen
```
| Skill | Description |
|-------|-------------|
| `vgen` | 带有 GPU 加速的比特币靓号地址生成 CLI 和库 API |
### 动态技能
使用 [skilld](https://github.com/harlan-zw/skilld) 从实时文档、问题和版本发布中自动生成:
```
npx skilld add oritwoen/vgen
```
## 路线图
- [ ] 支持更多加密货币(Litecoin、Dogecoin、Solana 等)
- [ ] GPU 性能改进(CUDA 后端,着色器优化)
- [ ] 更多数据提供者(mempool、blockchair 等)
## 安全性
生成的私钥是加密安全的随机数。在使用前,请务必验证生成的密钥是否能生成预期的地址。
## 许可证
MIT
标签:CPU并行, DX12, Metal, P2PKH, P2TR, P2WPKH, rayon, Rust, TUI, Vulkan, wgpu, 以太坊, 以太坊地址, 信息收集, 加密工具, 加密货币, 加密货币钱包, 区块链, 区块链安全, 可视化界面, 地址扫描, 密码学, 手动系统调用, 正则表达式, 比特币, 比特币谜题, 网络流量审计, 范围扫描, 虚荣地址生成, 通知系统