如何判断NEAR账户中哪些公钥由指定私钥生成
如何匹配NEAR账户公钥与特定私钥?
嘿,这个问题解决起来超直接,核心就是用你的目标私钥生成对应公钥,再和账户的公钥列表做对比,具体步骤看下面:
步骤1:用私钥生成对应的公钥
打开终端,直接运行near CLI的密钥推导命令,把你的特定私钥填进去:
near key derive --secret-key ed25519:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
执行后,终端会输出这个私钥对应的公钥(格式也是ed25519:开头的字符串)。
步骤2:对比公钥找匹配项
把上面得到的公钥,和你之前用near keys foo.near输出的公钥列表逐一比对——完全相同的那一个,就是由这个私钥生成的公钥啦。
进阶:用命令行自动匹配(省手动比对的麻烦)
如果不想手动一个个看,可以用命令行工具自动筛选。比如把两个命令的输出结合,用grep直接定位匹配项:
near key derive --secret-key ed25519:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | grep -f - <(near keys foo.near)
如果有匹配的公钥,终端会直接输出它;如果没有,就不会有任何输出,说明这个私钥没对应账户里的任何公钥。
小提醒
- 别漏了私钥和公钥的
ed25519:前缀,NEAR的密钥都需要这个标识才能被CLI正确识别 - 处理私钥的时候要注意安全,别在公共终端输入,也别把私钥泄露给任何人
内容的提问来源于stack exchange,提问作者Erik Trautman
相关产品推荐
相关产品推荐

