15

我需要通过 solana CLI 使用幻像钱包,但我无法配置它。例如使用检查余额

solana balance --keypair fileexportedfromphantom

但无法读取信息

如何将该私钥转换为有效形式以在 solana cli 中使用?

4

2 回答 2

35

尝试:

solana-keygen recover 'prompt://?key=0/0' -o <file.json>

并在“显示秘密恢复短语”下输入来自 Phantom 的 24 个单词的恢复短语。

这是因为 Phantom 使用0/0钱包的派生路径,并且需要额外提供的路径才能访问正确的帐户。

您可以使用带有1/0, 2/0...的相同命令N/0来获取不同的 Phantom 派生帐户。

有关使用 Solana 工具进行分层派生的更多信息,请参见此处:https ://docs.solana.com/wallet-guide/paper-wallet#hierarchical-derivation

或者使用 Solflare 钱包在此处检查您的特定 24 词短语的派生路径:https ://solflare.com/access

于 2021-09-21T05:45:57.113 回答
9

这有点烦人,但您必须将 Phantom 返回的 base-58 私钥解码为字节数组。这是使用base58包 ( https://pypi.org/project/base58/ ) 完成此操作的简单 Python 代码片段:

import base58
byte_array = base58.b58decode(MY_PRIVATE_KEY_IN_BASE58)
json_string = "[" + ",".join(map(lambda b: str(b), byte_array)) + "]"
print(json_string)

您可以将该输出通过管道传输到文件,然后将其--keypair与 CLI 工具一起使用。

于 2021-09-20T14:35:24.583 回答