Открытый ключ Solana keygen не соответствует

Я запускаю инструмент solana-keygen и не понимаю, как он выводит. У меня создалось впечатление, что вывод pubkey первой команды должен быть таким же, как и тот, который был воссоздан с помощью второй команды. Но они разные. Что представляет собой первая?

      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

2 ответа

Ключ pubkey, напечатанный при создании, - это необработанный pubkey пары ключей ed25519, в то время как solana-keygen pubkey prompt://печатает pubkey на m / 44 '/501'. Если ты бежишь solana-keygen pubkey ASK он должен напечатать исходный ключ pubkey

В настоящее время существует открытый PR для обновления интерфейса командной строки, но пока вы можете сделать, как описано выше.

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

Я не уверен, но это может быть связано с предоставленным вами путем деривации. У Blockchain API есть конечная точка для получения открытого ключа для кошелька Solana, и вы можете надежно сделать это с его помощью. Говорится:

Вы можете сгенерировать уникальный открытый ключ с каждой комбинацией секретной фразы восстановления, парольной фразы и пути деривации. Таким образом, с помощью одной секретной фразы восстановления вы можете сгенерировать множество открытых ключей. Если вы только начинаете, просто введите секретную фразу восстановления, которую вы сгенерировали с помощью конечной точки Solana Wallet Secret Recovery Phrase. Если вы пытаетесь получить открытый ключ, который уже существует (например, созданный в фантомном кошельке), убедитесь, что вы используете правильный путь получения и парольную фразу. Чтобы узнать больше об этом, см. Описания этих параметров ниже.

Пути деривации используются для получения открытого ключа из секретной фразы восстановления. Принимаются только определенные пути. Мы используем "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 генерирует больше кошельков. Чтобы узнать больше о путях деривации, ознакомьтесь с этим руководством.

Другие вопросы по тегам