如何使用 Solana CLI 创建自定义钱包地址

  • QuickNode
  • 发布于 2024-08-21 19:36
  • 阅读 24

本文介绍了如何使用 Solana CLI 中的 grind 工具生成自定义的 Solana 钱包地址,详细说明了命令的使用方法和相关选项,并提供了一个视频教程的链接。

概述

你是否注意到某些 Solana 账户地址具有特定的前缀或后缀(例如,DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ)?

示例 - $DUST

这不可能只是随机的,对吧?没错!Solana 的 CLI 具有强大的工具,可以生成自定义的 Wallet 地址。在本指南中,你将使用 Solana CLI 和 grind 工具创建你自己的自定义钱包地址。

Prefer a video walkthrough? Follow along with Sahil and learn how to create a custom vanity address on Solana.

订阅我们的 YouTube 频道以获取更多视频!订阅

你需要准备的

设置你的项目

在终端中创建一个新的项目目录:

mkdir custom-wallet
cd custom-wallet

检查你的 Solana CLI 工具是否已安装并且是最新的。在终端中输入:

solana --version

要检查并安装更新,在终端中输入:

solana-install update

你应该会看到类似这样的内容:

Solana CLI 更新完成

让我们开始吧。

使用 Solana-Keygen

Solana CLI 有一个用于创建新密钥对的原生命令,Solana-KeygenSolana-Keygen 命令遵循以下格式:

solana-keygen [OPTIONS] <SUBCOMMAND>

选项和子命令都在帮助菜单中列出。你可以通过在终端中输入 help 子命令来检查它们以及 Solana-Keygen 的所有功能:

solana-keygen --help

你应该会看到一个帮助菜单,内容大致如下:

Solana CLI 帮助菜单

你应该会看到一个子命令,grind。我们将使用它来生成你的自定义钱包。此子命令实际上会生成密钥,直到找到符合你的搜索标准的密钥。让我们来测试一下!

solana-keygen grind --starts-with a23:1

你应该会在终端中看到如下响应:

custom-wallet % solana-keygen grind --starts-with a23:1
Searching with 10 threads for:
        1 pubkey that starts with 'a23' and ends with ''
Wrote keypair to a23...mgr.json

太棒了!你刚刚创建了你的第一个个性化钱包地址,它以 1 个实例(由 ":1" 设置)“a23”开头。你应该会在项目文件夹中看到一个 .json 文件,里面包含新地址的私钥。可以使用 Solana JS SDK 导入到你的 Solana 项目中,方法如下:

const keypair = Keypair.fromSecretKey(Uint8Array.from(ARRAY_IN_JSON FILE));

在查看 solana-keygen 的其他功能之前,让我们再生成一个以 123456789 开头的钱包。在你的终端中输入:

solana-keygen grind --starts-with 123456789:1

你的 CLI 应该会每隔几秒显示一次更新,表示搜索仍在进行,并且找到了 0 个匹配项:

custom-wallet % solana-keygen grind --starts-with 123456789:1
Searching with 10 threads for:
        1 pubkey that starts with '123456789' and ends with ''
Searched 1000000 keypairs in 1s. 0 matches found.
Searched 2000000 keypairs in 3s. 0 matches found.
Searched 3000000 keypairs in 5s. 0 matches found.
等等。

CTRL+C 取消你的搜索,否则你可能会等上 非常 长的时间。这很好地展示了 grind 子命令的工作原理。它在搜索一个密钥对,检查其是否符合你的标准,并在标准满足之前尝试再次搜索。这个例子显示出,找到一个包含九个用户定义变量的地址显著比找到三个位更加困难。也就是说,通常只会生成开头和结尾各定义 2-5 个字符的地址。超过这个数量,你将会消耗大量计算资源,并且需要等待很长时间。

现在让我们探索一下 solana-keygen 的其他一些功能。在你的终端中输入:

solana-keygen grind --help

请记下上面的命令,因为如果你忘记如何使用该命令,它总是一个很好的参考点!

你会看到三个部分:用法、标志和选项(老实说,我认为标志只是另一种类型的选项,但 Solana CLI 将它们分开):

用法 显示我们的命令格式。我们总是从 solana-keygen grind 开始,然后是任何 flagsoptionssolana-keygen grind [FLAGS] [OPTIONS] [你的搜索查询]

  • --starts-with PREFIX:COUNT,PREFIX 是你要搜索的自定义前缀,COUNT 是要生成的密钥对数量(例如,--starts-with quick:2 将生成两个以 quick 开头的密钥对)。

  • --ends-with SUFFIX:COUNT,SUFFIX 是你要搜索的自定义后缀,COUNT 是要生成的密钥对数量(例如,--ends-with node:1 将生成一个以 node 结尾的密钥对)。

  • --starts-and-ends-with PREFIX:SUFFIX:COUNT,PREFIX 是你要搜索的自定义前缀,SUFFIX 是你要搜索的自定义后缀,COUNT 是要生成的密钥对数量(例如,--starts-and-ends-with quick:node:3 将生成三个以 quick 开头并以 node 结尾的密钥对)。

  • 注意: PREFIX 和 SUFFIX 必须为 Base58 类型(A-Z, a-z, 0-9),但容易混淆的字符(零(0),大写字母 i(I)和 o(O),小写字母 l(l)除外)。

其他选项

  • --ignore-case 将使搜索不区分大小写(默认区分大小写)

  • --use-mnemonic 默认情况下,grind 函数保存私钥,而不是助记密钥短语。此标志将使用助记密钥短语生成。预计在此模式下会显著减慢速度。

  • --no-outfile (必须与 --use-mnemonic 一起使用)。仅打印种子短语和公钥。不要输出密钥对文件。

  • --no-bip39-passphrase(必须与 --use-mnemonic 一起使用)。不提示输入 BIP39 密语(此密语提高了恢复种子短语的安全性,而不是存储为不安全的明文的密钥对文件本身)

  • --word-count (必须与 --use-mnemonic 一起使用)。指定生成的种子短语中的单词数量(默认:12)

  • --language <LANGUAGE> (必须与 --use-mnemonic 一起使用)指定助记短语的语言(英语,简体中文,繁体中文,日语,西班牙语,韩语,法语,意大利语)

  • --num-threads <NUMBER> 指定生成线程数量 [默认:10]

  • -C, --config <FILEPATH> 要使用的配置文件

这里有很多内容,所以如果一切都不清楚也不用担心。最好的学习方式是自己尝试一下!

创建一个自定义钱包

是时候来测试一下了!如果需要,可以查看上面的帮助。生成一个以你名字的首字母开头并以你姓氏的首字母结尾的地址(不区分大小写)。创建一个没有 .json 输出或 bip39 密码短语的 24 个单词的日语助记词。

尝试之后,可以看看我们是如何做到的:

solana-keygen grind --starts-and-ends-with A:M:1 --ignore-case --use-mnemonic --word-count 24 --language japanese --no-outfile --no-bip39-passphrase

你做得怎么样?如果一切顺利,你应该会在终端中看到 “Found matching key” 的响应,里面包含你的钱包地址和种子短语!非常酷,对吧?

如果你想,可以使用以下命令根据你的种子短语进行反向查找:

solana-keygen pubkey prompt://

我建议你尝试每个选项,以了解它们如何工作,然后创建你梦想的地址!

注意安全!

请记住,无论你如何创建新的种子或钱包,请务必遵循钱包安全最佳实践。我们发布了一份 指南:关于加密钱包及其安全性的简介 来帮助你。

你的个性化钱包只是表面现象?查看我们的 指南:如何通过 Solana 命名服务创建 .sol 域名,以创建一个自定义的 .sol 域名。

创建了一个酷的钱包?在 DiscordTwitter 上给我们发消息,分享一下!

我们 ❤️ 反馈!

如果你有任何反馈或对新主题的请求,请 告诉我们。我们期待听到你的声音。

  • 原文链接: quicknode.com/guides/sol...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。