# Mina--生成密钥对 **Published by:** [chezhe](https://paragraph.com/@v2y3x4/) **Published on:** 2021-11-11 **URL:** https://paragraph.com/@v2y3x4/mina-2 ## Content 为了在主网上创建密钥对或完整地使用 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-generate-keypair 为了简化创建密钥对的过程,我们已经创建了一个简单的命令行工具,称为 mina-generate-keypair。mina-generate-keypair 易于使用,可以创建你自己的密钥对,开始参与 Mina 网络。请看下面,看看如何在你的本地系统上安装和使用。 安装 我们支持几个不同的操作系统的 mina-generate-keypair 工具。按照下面的说明,将该工具安装到你的系统上。 macOS 如果你使用的是 macOS,请安装 Docker 并按照下面基于 docker 的说明进行操作。 Ubuntu 18.04 / Debian 9 添加 Mina 仓库后,你可以简单地运行以下命令。 echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list sudo apt-get update sudo apt-get install mina-generate-keypair=1.2.0-fe51f1e 通过运行 mina-generate-keypair -version,检查 keygen 工具是否正确安装。输出应该是 Commit fe51f1ef5cfbcb4d5f559af39080963cf28ff1af on branch master 。 Windows / 其他操作系统 安装 Docker 并按照下面步骤3b.中基于 Docker 的说明进行操作。 使用 创建一个密钥对很简单,只需几个简短的步骤即可完成。 首先,确保你的系统上有一个可以存放钥匙文件的文件夹。我们建议使用 ~/keys 文件夹。 mkdir ~/keys 2. 接下来,确保正确设置这个文件夹的权限,这可以防止不需要的进程访问这些文件。 chmod 700 ~/keys 3. 使用 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/mina-generate-keypair:1.2.0-fe51f1e --privkey-path /keys/my-wallet 这将在你的系统上创建两个文件:~/keys/my-wallet,其中包含加密的私钥;~/keys/my-wallet.pub,其中包含纯文本的公钥。请将你使用的私钥文件和密码保存在一个安全的地方,如密码管理器。 4. 最后,确保正确设置私人密钥文件的权限,这可以防止不需要的进程访问它。 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 --volume $(pwd)/keys:/keys minaprotocol/mina-generate-keypair:1.2.0-fe51f1e --privkey-path /keys/my-wallet 下一步 现在我们已经创建了我们的密钥对,我们终于可以连接到网络或分享你的公钥了。 ## Publication Information - [chezhe](https://paragraph.com/@v2y3x4/): Publication homepage - [All Posts](https://paragraph.com/@v2y3x4/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@v2y3x4): Subscribe to updates - [Twitter](https://twitter.com/chezhe4): Follow on Twitter