调用hashconnect.openPairingModal()时出现URI Missing错误及配对异常排查
HashConnect 连接Hashpack配对失败问题排查
问题解答
1. Pairing string created: undefined testnet中的undefined是什么?
这里的undefined本该是配对会话的唯一标识(topic),它是HashConnect生成的用于DApp和钱包建立配对的随机字符串。出现undefined说明HashConnect在生成配对字符串时缺少必要配置参数,导致无法正确生成这个标识。
2. URI Missing错误中的URI指什么?
此处的URI是Hashpack钱包的配对深度链接,格式类似hashpack://connect?topic=xxx&projectId=xxx&network=testnet。DApp通过这个URI唤起Hashpack钱包并传递配对信息,缺失这个URI就无法触发钱包的配对流程。
问题根源与修复
你的代码中HashConnect构造函数的参数顺序错误,导致初始化时关键配置(Project ID)未被正确识别,进而无法生成有效的配对字符串和URI。
原初始化代码:
hashconnect = new HashConnect( LedgerId.TESTNET, walletConnectProjectId, appMetadata, true, // debug mode on );
正确参数顺序应为Project ID在前,Ledger ID在后,修改后代码:
hashconnect = new HashConnect( walletConnectProjectId, LedgerId.TESTNET, appMetadata, true, // debug mode on );
修改后重新运行,HashConnect就能正确生成配对标识和URI,触发Hashpack的配对流程。
额外验证点
- 确认
walletConnectProjectId格式有效(你提供的ID格式符合要求) - 检查
appMetadata中的url和icons可正常访问 - 保证HashConnect与Hashpack版本兼容,建议使用官方文档推荐的版本
内容的提问来源于stack exchange,提问作者bguiz
相关产品推荐
相关产品推荐

