环境
- 钱包:Bitget Wallet
- 链:TRON ( TRC20 ,USDT )
- 这个钱包最早是在 iOS 版 Bitget 上生成的,一直正常使用、正常收发。
问题经过
- 昨天这个 TRON-USDT 钱包突然无法转账,App 提示类似"钱包地址已转移"。
- 想把钱包迁到别处,于是用助记词恢复——结果在 iOS 上恢复出来的是另一个地址、且是空钱包。
- 不死心,拿同一套助记词在安卓手机上恢复,居然恢复到了原来那个有资产的地址,完全正常。
- 在 iOS 上反复试:从苹果 App 导出助记词,再导入苹果 App ,恢复出来还是那个空钱包(不是原钱包)。
- 助记词和私钥全都是从 App 里直接导出的,不是手抄、没抄错。
两个地址(同一套助记词,不同平台恢复结果)
- 安卓恢复 → 原钱包(有资产):TMfE48
- iOS 恢复 → 空钱包:THHNPM
我已经验证 + ai 排除的(请别再说"助记词错了")
- 助记词通过 BIP39 校验,单词、顺序均合法;
- 用 bip-utils 等成熟库,对这套助记词跑了 38 万+ 条派生路径(标准 m/44'/195'/0'/0/0 、各种 account/index 、硬化索引、ed25519 等);
- 又跑了 100+ 种"助记词→种子"算法(不同 PBKDF2 salt/轮数、熵直接当种子、各种 hash 、带默认 passphrase 等);
- 结论:这套助记词标准派生出的就是那个空地址 THHNPM ;而有资产的 TMfE48 用这套助记词任何方式都派生不出来。
- 但矛盾的是:安卓 Bitget 用同一套助记词就能恢复出 TMfE48 。
原钱包 TMfE48 的私钥我手上有(从 App 导出过,已用代码验证确实对应这个地址),所以资产本身是安全的,目前是用私钥导入在用。主要想搞明白为什么同一助记词跨平台不一致,避免以后再踩坑。
避免丢失资产....
先谢过