生成Solana靓号地址
一个靓号地址可以为Solana钱包地址提供一定程度的人类可读性,否则它只是由随机字母和数字组成的字符串。
如果您曾经在 Solana 区块链上进行过一笔交易,那么您之前很有可能曾与这些 靓号地址之一进行过交互。一些最著名的程序使用靓号地址,如下所示:
- TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA - SPL 代币程序
- TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb - SPL 代币 2022程序
- WhirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc - Orca Whirlpools
- srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX - Openbook
- 以前是血清,现在更好了!并且更加开放。并且没有 FTX。
您会注意到每个帐户地址都以一些可读单词(或其中的一部分)开头。它们都是“靓号地址”。
继续深入?
您可以 在我的技术深入探讨中阅读有关如何派生和生成 Solana 地址的所有内容。包括了解用于使用 Solana CLI 生成地址地址的“派生路径”。很有趣的东西😀
如何生成个性地址
生成虚地址的最简单且最常见的方法是使用 Solana CLI。这也是我将在这里演示的内容。
安装 Solana CLI
如果您的计算机上尚未安装和设置 Solana CLI,那么您可以阅读我的另一篇关于 如何设置和配置 Solana CLI 的文章
通过运行以下命令确保您已solana-keygen
安装该程序并正常运行:
solana-keygen --version
# output (note the version)
# solana-keygen 1.17.6 (src:61caae6b; feat:3073089885, client:SolanaLabs)
请注意您安装的版本。如果您想生成用于 Phantom 或 Solflare 等网络/浏览器钱包的个性化地址,这一点非常重要。稍后会详细介绍这一点。
使用 solana keygen 程序,我们可以grind
生成(也称为暴力生成)以某些字符开头、结尾或以某些字符开头和结尾的新个性地址。
要查看可用于生成随机 Solana 个性地址的所有选项,请查看grind 的帮助:
solana-keygen grind --help
不支持的字符
Solana 公共地址和交易在 58 进制字符集上运行。本质上来说,只有 58 个可能的字符:
- 包括大写 AZ,不包括大写
O
和I
(如 和Oscar
中India
) - 小写字母 AZ,不包括小写字母
l
(如letter
) - 数字1-9,(不包括
0
)
这些特定字母被排除在 Base-58 字符集中,因为它们很容易被误认为是其他字符。而如果使用了错误的字符,那么区块链地址就完全不同了!
因此,当您尝试使用 4 个不受支持的字符之一生成个性地址时,Solana CLI 将抛出错误。
生成靓号地址的速度
目前,Solana CLI 仅支持这种使用计算机 CPU 的所有线程生成虚地址的强力方法。所以你的CPU越强大,花费的时间就越少。
数据点:我的平均范围笔记本电脑配备 Intel i7、8 核 CPU, 1,000,000
每次可以生成私钥地址~6.3 seconds
生成地址的速度的另一个重要因素是您正在寻找的字符串匹配。字符串匹配的时间越长(例如 4 个字符与 8 个字符),并且如果您是否忽略字母大小写(例如“nick”与“NicK”),则可能需要的时间越长。
最后一个重要因素是您是否尝试生成助记词或仅生成私钥。生成助记词短语将比不生成助记词短语花费更长的时间
数据点:与上面的数据点相同的计算机可以生成1,000,000
助记词地址~15-20 minutes
。长很多。
基于 grinding
要开始grind
搜索以设定字符串开头的地址的过程:
solana-keygen grind --starts-with nick:1 --ignore-case
这个简单的命令将运行,直到1
找到以 nick
(忽略字母大小写)开头的靓号地址。够简单的。
另请注意,一旦找到匹配的地址,私钥(以字节数组的形式)将被保存到终端的当前工作目录中,文件名为<GENERATED_PUBKEY>.json
匹配多个字符串
该grind
命令还允许您指定要搜索和匹配的多个字符串。如果您正在寻找多个可能的个性地址,这通常是一种更有效的搜索方式。
要搜索和匹配多个字符串,只需多次指定--starts-with
or --ends-with
或标志(及其值)即可。--starts-and-ends-with
就像这样:
solana-keygen grind --ignore-case --starts-with nick:2 --starts-with burn:2 --ends-with frost:2
此过程将继续运行,直到2
为每个给定字符串比较找到匹配项。所以最后,这最终会生成6个地址。
使用助记词生成
在浏览器钱包中使用个性地址
就像我在关于 如何派生 Solana 地址的工作原理的技术深入探讨中所讨论的那样,默认情况下,Solana CLI 不会设置为生成用于网络浏览器钱包中的地址的助记词短语。这是因为derivation path
CLI 上的默认设置和网络浏览器钱包(如 Phantom 和 Solflare)使用的默认设置不同。
因此,要在浏览器钱包中使用 Solana 个性地址,您必须更改命令中使用的派生路径grind
。
具有助记词和推导路径的 Vanity
使用该--derivation-path
标志将允许您在 Solana CLI 中设置自定义派生路径。如果您不指定自定义派生路径,则此标志将使用硬编码路径m/44'/501'/0'/0'
(可与 Phantom 和 Solflare 一起使用)。
与默认的 Solana CLI 的派生路径相反m/44'/501'
(与浏览器钱包不兼容)。
solana-keygen grind --use-mnemonic --derivation-path --starts-with nick:1 --no-passphrase
如果需要,您还可以设置自定义派生路径,如下所示:
solana-keygen grind --use-mnemonic --derivation-path m/44/117/0/0 --starts-with nick:1 --no-passphrase
将您的个性地址添加到您的浏览器钱包中
该命令输出的助记词可以输入到您选择的浏览器钱包中并且可以工作!
然后,您可以使用任何其他grind
标志来自定义您正在寻找的靓号地址,并且在 Solana 区块链的其余部分上更可用 🙃
如何生成靓号地址
我喜欢用助记符生成个性地址的方法是grind_keys
在我的计算机上创建一个单独的文件夹。然后将生成的助记词输出到我电脑上的文本文件中。
然后,我将进程的输出发送到文本文件(也称为助记符)以供以后使用。
就像这样:
mkdir grinder_keys && cd grind_keysmkdir keys && cd keyssolana-keygen grind --no-passphrase --use-mnemonic --derivation-path --ignore-case --starts-with nick:100 --starts-with more:100 >> ../mnemonics.txt
这使我可以grind
在每次启动计算机时简单地运行相同的命令。这样我就可以在桌面计算机上生成更长时间(例如几天或几周)的地址。不用担心丢失生成的助记词。
然后从找到的地址中挑选出最好的个性地址。就像现在一样,我正在运行它,寻找一个nick
可以在我的 Solana Saga 手机上使用的好地址(很快)作为我的新地址!
本文由SlerfTools翻译,转载请注明出处。
SlerfTools是专为Solana设计的工具箱,致力于简化区块链操作,提供无编程全可视化界面,使发币、管理流动性和无代码创建Dapp等复杂过程变得安全简单。