如何将导出的 Cosmos SDK 私钥转换为 Keplr 或 Metamask 可以导入的格式?

How to convert exported Cosmos SDK private key to format that can be imported by Keplr or Metamask?

Keplr 刚刚添加了使用私钥导入帐户的功能(太棒了!)。这主要是因为许多 lunie 用户丢失了他们的助记词,但仍然可以访问 lunie 本身。这意味着 lunie 可以导出私钥,但不能导出助记词本身。它也可能对未来想要从元掩码迁移的 Ethermint 用户有用(它还提供导出和导入私钥的能力)。

Cosmos SDK CLI 中的 keys 命令还允许用户导出私钥,但是我不确定如何将密钥从该格式转换为可以导入 keplr 的格式。 CLI命令如下:

gaiacli keys export [name]

它请求密码来解密密钥,然后请求新密码来加密导出的密钥。结果格式如下:

-----BEGIN TENDERMINT PRIVATE KEY-----
type: secp256k1
kdf: bcrypt
salt: C49BCB6A8358745812F5770A63BD09AD

NmqXg+dPDvVKawZwyER6l3V41tKxWaiIU/or2G7t9SBKRJ0oRREchssK4NpRp+Di
5KNHxHz2QXHLhbPQweo9iVkPPrNQ1uiSGH7maoY=
=GHXH
-----END TENDERMINT PRIVATE KEY-----

(这是为了这个问题而创建的示例)

如何将此密钥转换为可用于 keplr 或 metamask 的内容?

此功能刚刚合并!

https://github.com/cosmos/cosmos-sdk/pull/8043

命令是:

packaged export <name> --unarmored-hex and --unsafe

其中 packaged 是您的守护程序二进制 CLI 的名称,name 是您要导出的密钥的名称。