MetaMask通过WalletConnect无法提交交易问题咨询
问题排查:WalletConnect调用BEP-20转账确认无响应(MetaMask移动端)
问题现象
- DApp通过WalletConnect调用BEP-20合约
transfer方法时,MetaMask移动端弹出转账确认弹窗,但点击确认按钮无任何反馈,拒绝按钮可正常触发操作 - 上周功能完全正常,昨日突发故障;同一账号在MetaMask Chrome扩展端操作无异常
- 涉事设备信息:
- 设备:Google Pixel 4a / Google Pixel 6a / Samsung SM-G960F
- 系统:Android 13 / Android 13 / Android 10
- MetaMask移动端版本:v5.9.0(990)
排查思路与解决方案
1. 核对WalletConnect版本与兼容性
- 检查DApp集成的WalletConnect SDK版本:MetaMask v5.x对WalletConnect v1.x的兼容性可能存在不稳定情况,若当前用的是v1.x,建议升级至v2.x版本测试
- 确认会话链ID:确保WalletConnect会话指定的链ID为BSC主网的
56,链ID不匹配会导致MetaMask无法正常处理交易请求
2. 验证交易参数合法性
- 检查
transfer方法参数:确认to地址格式正确(无大小写错误、无字符截断),value参数已转换为wei单位(需乘以10^18) - 检查Gas参数设置:若硬编码了gas limit或gas price,可能超出MetaMask移动端的默认阈值,尝试改用MetaMask推荐的Gas参数,而非固定值
3. 排查前端回调与事件逻辑
- 检查
sendTransaction回调:在回调中添加日志,确认是否收到MetaMask返回的交易哈希或错误信息,排查是否存在未捕获的异常阻塞流程 - 验证事件监听:确认未重复绑定交易确认事件,或存在自定义事件覆盖MetaMask的默认确认逻辑
4. 重置MetaMask移动端配置
- 指导用户清除MetaMask缓存:进入应用设置-存储-清除缓存,然后重新建立WalletConnect会话
- 重新配置BSC网络:删除现有BSC主网配置,重新添加(RPC URL:
https://bsc-dataseed.binance.org/,链ID:56,符号:BNB),避免网络配置异常
5. 排查MetaMask版本问题
- 尝试升级MetaMask至最新稳定版:v5.9.0可能存在已知bug,升级后验证是否解决问题
- 若无法升级,可尝试回退至上周正常使用的版本(需用户有备份),确认是否为版本更新引入的兼容性问题
6. 检查DApp依赖更新
- 确认近期是否更新了web3相关依赖(如web3.js、ethers.js):部分依赖版本更新可能与WalletConnect或MetaMask移动端产生冲突,尝试回退至上周的依赖版本测试
内容的提问来源于stack exchange,提问作者Claire
相关产品推荐
相关产品推荐

