#vanity #address #monero #gui #cli

应用 monero-vanity

门罗币自选地址生成器

2 个版本

0.4.1 2023年4月2日
0.4.0 2023年4月2日

#10#vanity

28 每月下载量

MIT 许可证

1.5MB
620

monero-vanity

monero-vanity 是一个 GUI/CLI 工具,可以生成门罗币的自选地址,如下所示

44hintoFpuo3ugKfcqJvh5BmrsTRpnTasJmetKC4VXCt6QDtbHVuixdTtsm6Ptp7Y8haXnJ6j8Gj2dra8CKy5ewz7Vi9CYW


比较

生成器 所需硬件 正则表达式 计算种子 正常速度 正则表达式速度
vanity-monero CPU (x86, 32/64位) 400k/sec 170k/sec
monero-vanity CPU (x86, 64位) 5.8million/sec 5.8million/sec
vanity-xmr-cuda NVIDIA GPU (带 CUDA) 8.1million/sec

测试硬件:Ryzen 5950x, GTX 1660 Ti

估算

字符 示例 粗略时间估计
1 44h 即时
2 44hi 即时
3 44hin 即时
4 44hint 2 秒
5 44hinto 1 分钟,30 秒
6 44hintoj 1 小时,30 分钟
7 44hintoja 4 天,10 小时
8 44hintojan 280 天
9 44hintojana 49 年
10 44hintojanai 3,151 年
11 44hintojanaiy 100,852 年
12 44hintojanaiyo 几乎永远不会

假设每秒5.8百万密钥的速度

GUI 使用

找到地址后,创建一个新的 Monero 钱包

输入地址、私钥和私用花费密钥

并验证您的钱包地址是否正确

CLI 使用

Usage: monero-vanity [--OPTIONS]

Options:
  -t, --threads <THREADS>  How many threads to use [default: HALF_THREADS]
  -p, --pattern <PATTERN>  Address regex pattern to look for
  -f, --first              Start from 1st character instead of: ^4.PATTERN.*$
  -r, --refresh <REFRESH>  How many milliseconds in-between output refreshes [default: 500]
  -v, --version            Print version
  -h, --help               Print help (see more with '--help')

示例 1 - 使用一半线程的基本模式

./monero-vanity --pattern hinto

> 44hinto...

示例 2 - 使用一半线程的高级正则表达式模式

./monero-vanity --first --pattern "^4(4|8)h(i|1)nto.*$"

> 48hinto...

找到私用花费密钥后

./monero-wallet-cli --generate-from-spend-key YOUR_WALLET_NAME

输入私钥,生成的钱包将具有找到的地址。

注意

monero-vanity 会自动在输入前加上 ^4.,并在后面加上 .*$,使得您的模式从地址的第三个字符开始,到第43个字符。

示例输入: hinto
实际使用的正则表达式: ^4.hinto.*$

要禁用此功能,请使用 --first

警告:这会使您完全控制正则表达式,您可以输入任何值,甚至是不可实现的值。

安装

在此处下载:下载

Cargo

如果您有 cargo,可以使用以下命令安装:

cargo install monero-vanity

Arch

如果您正在使用 Arch Linux,可以使用以下命令从 AUR 安装:

paru monero-vanity

实现

  1. 随机 [u8; 64] 生成(512位/64字节)
  2. 通过减少上述字节创建标量
  3. 使用正则表达式检查压缩的EdwardsPoint的Base58编码(4...)
  4. 如果匹配,则创建完整地址并返回给用户,否则...
  5. 将EdwardsPoint增加1并继续

注意

构建

cargo build --release

针对您的特定CPU进行了优化(速度提高高达15%)

RUSTFLAGS="-C target-cpu=native" cargo build --release

感谢

特别感谢 kayabaNerve 在ECC密码学和Rust方面的帮助(他就是为什么它这么快的原因)。

依赖项

~27–66MB
~1M SLoC