繁体   English   中英

Solana 密钥生成公钥不匹配

[英]Solana keygen pubkey not matching

我正在运行 solana-keygen 工具,但对其输出感到困惑。 我的印象是第一个命令的公钥输出应该与使用第二个命令重新创建的公钥相同。 但它们是不同的。 第一个代表什么?

C:\Users\MSHIRAZ>solana-keygen new --no-outfile
Generating a new keypair

For added security, enter a BIP39 passphrase

NOTE! This passphrase improves security of the recovery seed phrase NOT the
keypair file itself, which is stored as insecure plain text

BIP39 Passphrase (empty for none):

=========================================================================
pubkey: Gu3nU5cW7W8mZesDUhjaym8e1mbsyUBey8fvhgnq7nMM
=========================================================================
Save this seed phrase and your BIP39 passphrase to recover your new keypair:
motor rate october crawl visa family prison hair annual fault tilt animal
=========================================================================

C:\Users\MSHIRAZ>solana-keygen pubkey prompt://
[pubkey recovery] seed phrase:
[pubkey recovery] If this seed phrase has an associated passphrase, enter it now. Otherwise, press ENTER to continue:
ADarcoVBd5USiMpycBGrhforf2EHqUJTc4YyByC7A8xP

C:\Users\MSHIRAZ>solana-keygen verify ADarcoVBd5USiMpycBGrhforf2EHqUJTc4YyByC7A8xP prompt://
[pubkey recovery] seed phrase:
[pubkey recovery] If this seed phrase has an associated passphrase, enter it now. Otherwise, press ENTER to continue:
Verification for public key: ADarcoVBd5USiMpycBGrhforf2EHqUJTc4YyByC7A8xP: Success

create 上打印的公钥是原始的 ed25519 密钥对公钥,而solana-keygen pubkey prompt://在 m/44'/501' 打印公钥。 如果您运行solana-keygen pubkey ASK它应该打印原始公钥

目前有一个开放的 PR 来更新 CLI,但现在您可以按照上述方法进行操作。

https://github.com/solana-labs/solana/issues/17325#issuecomment-844317674

我不确定,但这可能与您提供的派生路径有关。 区块链 API 有一个端点,用于为 Solana 钱包派生公钥,您可以使用它可靠地做到这一点。 它指出:

您可以使用秘密恢复短语、密码短语和派生路径的每种组合生成唯一的公钥。 因此,使用单个秘密恢复短语,您可以生成许多公钥。 如果您刚刚开始,只需提供您使用 Solana Wallet Secret Recovery Phrase 端点生成的秘密恢复短语。 如果您尝试获取已存在的公钥(例如,在 Phantom 钱包中创建),请确保使用正确的派生路径和密码短语。 要了解更多相关信息,请参阅下面这些参数的说明。

派生路径用于从秘密恢复短语中派生出公钥。 仅接受某些路径。 如果未提供,我们默认使用“m/44/501/0/0”。 这是 Phantom 和 Sollet 钱包使用的路径。 如果您提供空字符串 "" 作为派生路径的值,那么我们将使用 Solana CLI 默认值。 SolFlare 推荐的路径是“m/44/501/0”。 您也可以任意增加默认路径(“m/44/501/0/0”)来生成更多钱包(例如“m/44/501/0/1”、“m/44/501/0/2” ”,……)。 这就是 Phantom 生成更多钱包的方式。 要了解有关派生路径的更多信息,请查看本教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM