NEAR执行dev-deploy报错:找不到匹配密钥对无法签署交易
NEAR dev-deploy 签名错误问题解决方案
问题成因
- 报错中提到的
dev-1635099366550-3101206是dev-deploy自动生成的临时测试账户,你之前执行near login授权的是个人命名账户,二者的密钥对不匹配,所以无法完成交易签名。 - 项目目录下的
neardev文件夹残留了旧的临时dev账户信息,但对应的密钥已经从凭证目录删除,导致工具扫描两个密钥存储路径时都找不到匹配的密钥对。 - 使用sudo执行命令时会切换到root用户上下文,默认读取root目录下的.near-credentials,不会读取当前普通用户的凭证目录,自然找不到对应密钥。
解决步骤
- 先删除项目根目录下的
neardev文件夹,清除残留的旧dev账户缓存。 - 后续所有部署操作不要加sudo,避免用户上下文切换导致凭证读取异常。
- 执行带强制生成参数的部署命令,自动生成新的dev账户和对应密钥对:
near dev-deploy out/main.wasm --force
- 如果你想要用自己已经完成login授权的命名测试账户部署,可以直接指定账户部署,不用走dev-deploy的临时账户逻辑:
near deploy --accountId 你的测试网账户名.testnet out/main.wasm
- 若以上操作无效,可以手动打开
~/.near-credentials/testnet目录,检查是否存在文件名和报错中dev-1635099366550-3101206完全匹配的json文件,不存在就说明该临时账户的密钥确实已丢失,直接删除neardev目录重新走部署流程即可。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

