如何通过提供种子短语(NEAR 协议)获取钱包的私钥和 public 密钥

How to get private and public keys for the wallet by providing a seed phrase (NEAR Protocol)

我需要能够通过提供种子短语获得 NEAR 钱包的 public 和私钥。我在 NEAR 的 GitHub 帐户中发现了一个特定的 library/repo,看起来非常适合我的情况:): https://github.com/near/near-seed-phrase

但是,经过一些测试后,该库(parseSeedPhrase 函数)提供的结果似乎与使用 near-cli 实用程序可以获得的实际密钥不匹配。

我假设 NEAR 的测试网可能对 derivationPath 参数使用了不同的值,而作为默认值包含在库中的参数仅适用于主网。也许我只是遗漏了一些东西,我们将不胜感激。

near-seed-phrase 工作正常,它生成的密钥用于创建帐户(proof), but then Wallet generates a new random keypair and adds it to the account (proof)并将其存储在浏览器的本地存储中。因此,如果您比较本地存储中的密钥,那将与从种子短语派生的密钥不匹配,因为钱包不希望您在从新设备登录后使您的种子短语无效(您应该能够完成会话后删除访问密钥)。

让我们重申一下,钱包只使用从种子短语派生的密钥向给定帐户添加新密钥,而不会在本地存储中存储种子短语或从种子短语派生的密钥。

太疯狂了,但是 NEAR 不加密密钥!至少不能使用任何密码,因为您没有输入密码,这意味着您看不到私钥并且无法生成密钥库文件,非常烦人!!!!不知道为什么 NEAR 钱包在这里如此愚蠢。所以您可能会问,他们如何存储您的 SEED 密码?他们只是对会话使用自己的加密吗?同样愚蠢。所有其他钱包都允许您生成一个密码作为密钥来加密从种子派生的 SEED 或 PVT 密钥,因此生成一个安全的密钥库文件。相反,NEAR 让你使用 2FA multui-sig 取决于单元格 phone,而你可以使用强大脑密码。什么鬼!