上周帮一个做链游的朋友排查 TPWallet 火狐插件,问题很具体,Firefox 里扩展图标亮着,dApp 点“连接钱包”也弹出授权窗的,可点确认后页面一直卡在“等待确认”,换 Chrome 同版本 TPWallet 却秒过。这个对比说明,故障不在私钥的。

也不在链上,浏览器扩展运行环境的差异。打开 about:debugging 看临时扩展,再翻控制台的,发现 provider 注入被 Firefox 的增强跟踪保护拦了一次,后续 eth_sendTransaction 请求直接没发出去。把该 dApp 加入跟踪保护例外,并在扩展权限里允许访问站点数据了,tpwallet 火狐插件立刻恢复了。这个案例不复杂,很容易被误判成节点拥堵的。有人一着急就反复导入助记词。

风险反而更大。另一个案例更隐蔽,同事用的 TPWallet 火狐插件版本停留在 0.9.x,dApp 调用 wallet_switchEthereumChain 时没有任何返回。Firefox 附加组件商店的更新有时比 Chrome 晚。

他手动更新到最新版,再清掉扩展 storage了,报错消失。检查扩展 ID 和 manifest 权限时。

还发现旧版没声明 clipboardWrite,复制地址按钮偶尔失灵,这和钱包安全无关,却会让人以为插件坏了。我的判断是TPWallet 火狐插件能跑。Firefox 的隔离策略比 Chromium 系更硬,跨域、注入时机、版本滞后都可能让连接流程断掉。不要装多个钱包扩展,也别开一堆隐私插件。真要转账,先拿小额测试,确认签名弹窗、链切换和 nonce 都正常了。

遇到白屏或转圈,先看控制台,再查权限和版本,比卸载重装省事得多。