Mina 文档 - 使用 Mina 之 生成密钥对

  • MinaFans
  • 更新于 2021-12-05 23:46
  • 阅读 2484

Mina 开发者文档 - 使用 Mina

3.1 生成一个密钥对

为了使用Mina主网或者参与测试网,首先需要生成一个密钥对,它由一个公钥和一个私钥组成。目前支持两种密钥对的生成工具:mina-generate-keypair和ledger-app-mina。我们还有一个工具来验证您的私钥是否被正确创建。

请注意,您可能希望生成多个密钥对。例如,如果您希望以最安全的方式运行一个区块生产者,您将需要同时生成热钱包和冷钱包

方法

mina-generate-keypair

我们已经创建了一个简单的命令行实用程序,并称之为mina-generate-keypair。这是最简单的方法,并且您可以在下面找到说明。

Ledger 硬件钱包

您可以使用您的Ledger Nano S硬件钱包安全地存储您的Mina私钥。我们正在进行独立的安全审计,目前没有发现任何漏洞,开发工作已接近完成。请参阅我们的ledger-app-mina文档来开始使用这个工具。

客户端SDK

我们还创建了一个客户端SDK,它能够生成密钥对和对事务签名。请注意,我们是不建议这种方法的,这应该只由有经验的安全专家使用。请使用我们的“mina-generate-keypair”工具来创建密钥对。了解有关更多信息,请参阅我们的客户端SDK文档

警告

永远不要泄露您的私钥,并确保它们被妥善保存。如果您丢失了您的私钥,或者一个恶意参与者获得了对您的私钥的访问权,那么您将失去对您的帐户的访问权,并将失去您帐户中的资金。请使用您的公钥,Mina永远不会询问您的私钥。

使用mina-generate-keypair

为了简化创建密钥对的过程,我们创建了一个简单的命令行实用程序,称为mina-generate-keypair。Mina-generate-Keypair工具易于使用,可以创建您自己的密钥对,从而开始参与Mina网络。请参阅下面的内容,并了解如何在本地系统上安装和使用密钥。

安装

我们为mina-generate-keypair工具提供几种不同的操作系统的支持。请按照下面的说明将工具安装到您的系统上。

macOS

如果您使用的是macOS,请安装Docker,并遵循以下Docker的基础说明。

Ubuntu 18.04 / Debian 9

添加Mina repo之后,您可以简单地运行以下命令。

sudo apt-get install mina-generate-keypair=0.2.12-718eba4

通过运行mina-generate-keypair -version检查keygen工具是否正确安装。输出的应该是branch HEAD上的Commit [DIRTY]718eba4826794f83d51c0d8dcf538e78b0259528。

Windows /其他平台

安装Docker并按照下面的步骤3b中有关Docker的说明操作。

使用

创建密钥对很简单,只需几步就可以完成。

  1. 首先,确保您的系统中有一个可以存储密钥文件的文件夹。我们建议使用~/keys文件夹。

mkdir ~/keys

  1. 接下来,确保正确设置该文件夹的权限,这将防止不需要的进程访问这些文件。

chmod 700 ~/keys

  1. 使用Debian/Ubuntu上的步骤3a或Docker上的步骤3b来生成密钥

警告

确保使用以下命令设置一个新的安全密码。Mina永远不会向您询问此密码,您也不应该和任何人分享该密码。

3a. 在Ubuntu/Debian中:使用mina-generate-keypair命令生成密钥。当出现提示时,请输入用于保护此密钥的密码。如果设置了,工具将使用来自CODA_PRIVKEY_PASS环境变量的密码,而不再提示。请不要忘记这个密码。

mina-generate-keypair -privkey-path ~/keys/my-wallet

3b. 在Windows/MacOS/Linux的Docker中:使用minaprotocol/generate-keypair docker映像生成密钥。当出现提示时,请输入用于保护此密钥的密码。请不要忘记这个密码。

cd ~
docker run  --interactive --tty --rm --volume $(pwd)/keys:/keys minaprotocol/generate-keypair:0.2.12-718eba4 -privkey-path /keys/my-wallet

这将在您的系统上创建两个文件,其中包含加密的私钥~/keys/my-wallet和以明文形式包含公钥的pub~/keys/my-wallet。请将私钥文件和密码存储在安全的地方,如密码管理器。

警告

永远不要泄露您的私钥,并确保它们被妥善保存。如果您丢失了您的私钥,或者一个恶意参与者获得了对您的私钥的访问权,那么您将失去对您的帐户的访问权,并将失去您帐户的资金。无论何时,请提供您的公钥,Mina永远不会询问您的私钥。

最后,确保正确设置了私钥文件的权限,这将防止不需要的进程访问它。

chmod 600 ~/keys/my-wallet

验证您的私钥

现在您已经创建了密钥——您需要验证它是否有效。验证是否可以对事务进行签名就足够了。您可以使用mina-validate-keypair工具验证。

在Linux系统下,执行如下命令:

mina-validate-keypair -privkey-path <path-to-the-private-key-file>

如果使用Docker,执行以下命令:

docker run --interactive --tty --rm --entrypoint=mina-validate-keypair --volume $(pwd)/keys:/keys
minaprotocol/generate-keypair:0.2.12-718eba4 -privkey-path /keys/my-wallet

下一个步骤

现在我们已经创建了密钥对,终于可以连接到网络或共享您的公钥了。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
MinaFans
MinaFans
minafans.tech