钱包用错三年,我踩过的坑和现在只信的三条规矩

说个真事。去年有个读者私信我,说钱包里 2.3 个 ETH 转不出去,急得不行。我让他截图一看,Gas Limit 设成了 21000,收款方是个合约地址。这笔交易永远确认不了,除非他手动取消重发。他卡在那笔交易上整整两天,因为 nonce 被占着,后面所有交易全堵死。

这种事每天都在发生。我从 2018 年开始用各种钱包,丢过助记词、转过错链、被钓鱼网站骗签过授权。讲真,大部分问题不是钱包的锅,是操作习惯的锅。

助记词存手机备忘录,等于把钥匙插门上

我见过最离谱的案例:一个人把 12 个助记词截图存相册,手机开了 iCloud 同步。后来手机丢了,他以为改个 Apple ID 密码就没事了。攻击者从云端拿到截图,三天内清空了他所有钱包资产,包括一个存了 40 多个 NFT 的地址。

操作上你得这么干:

  • 助记词只写纸,写两份,分两个物理位置存放。别拍照、别存备忘录、别发微信文件传输助手。
  • 如果你用的是 24 词助记词,注意顺序。我见过有人抄的时候把第 7 和第 8 个词写反了,恢复出来是个空钱包,以为资产丢了,吓得半夜给我打电话。
  • 验证环节别跳过。主流钱包(MetaMask、Rabby、OKX Web3)在创建钱包时都会让你按顺序点选助记词,认真点完,别嫌烦。

转账卡住不确认,先别急着点“加速”

链上交易卡住的原因通常就三个:Gas Price 给低了、Gas Limit 设少了、或者 nonce 乱了。

拿以太坊主网举例。一笔普通 ETH 转账,Gas Limit 是 21000。如果你往合约地址转 ETH,Gas Limit 至少要给到 50000 以上,具体看合约逻辑。Gas Limit 给少了,交易会直接失败(Out of Gas),但矿工费照扣。Gas Price 给低了,交易就挂在 mempool 里等,可能几小时都不动。

实际处理步骤:

  1. 在 Etherscan 上搜你的交易哈希,看状态是 Pending 还是 Failed。
  2. 如果是 Pending,打开钱包的“加速”功能,把 Gas Price 提高 10%-20% 重新广播。MetaMask 的加速本质是发一笔相同 nonce、更高 Gas 的替换交易。
  3. 如果加速按钮是灰的,说明你的钱包不支持 Replace-by-Fee。这时候只能等,或者手动发一笔 0 ETH 到自己地址、nonce 设成卡住那笔的 nonce、Gas 给够,把坑占掉。

有个坑:别在 BSC 或 Polygon 上照搬以太坊的 Gas 逻辑。BSC 出块 3 秒一个,Gas Price 通常只要 1-3 Gwei,你按以太坊习惯给 30 Gwei,多花的钱够吃顿火锅。

授权钓鱼:你点的“确认”可能是在送钱

2023 年 5 月,有个 DeFi 玩家在推特上点了一个“领取空投”链接,钱包弹窗显示的是 Approve,他没细看就确认了。那个授权把 USDC 的无限额度给了一个恶意合约。两周后,合约被激活,转走了他 18000 USDC。

链上授权(Approval)是钱包安全里最容易被忽视的一环。你每次在 Uniswap 上交易、在 OpenSea 上挂单,本质上都在给合约授权。问题是很多人授完就忘了。

我的习惯是每月查一次授权。用 revoke.cash 或 Etherscan 的 Token Approvals 页面,连上钱包,看哪些合约还有额度。看到不认识的、额度是“Unlimited”的,直接撤销。撤销本身要花 Gas,主网大概 0.5-2 美元一笔,但比被搬空强。

还有个细节:签名(Sign)和交易(Transaction)是两回事。签名不花 Gas,但签的内容可能是授权、可能是挂单、可能是转移所有权。钱包弹窗里那串十六进制你看不懂没关系,但至少看一眼请求来源的域名对不对。uniswaq.org 和 uniswap.org 差一个字母,就是两个世界。

多链时代,地址一样不代表资产一样

我有个朋友,把 ETH 从币安提到 MetaMask,选的是 ERC20 网络,地址填的是他 BSC 钱包的地址。两个地址长得一模一样(都是 0x 开头 42 位),因为 EVM 链的地址格式相同。但资产到了以太坊链上,他在 BSC 网络里看不到,以为丢了。

实际情况是:同一套助记词可以派生所有 EVM 链的地址,地址相同,但资产在各条链上独立存在。你要看 ETH 上的资产,钱包网络切到 Ethereum;要看 BSC 上的,切到 BSC。MetaMask 默认只显示当前网络的余额,切网络不会丢资产,只是“看不见”。

操作建议:

  • 转账前,核对链和地址。在交易所提币页面,网络选项和地址输入框是分开的,两个都要对。
  • 如果你经常跨链,装个 Rabby 钱包。它会自动识别你当前地址在各条链上的余额,不用手动切网络。缺点是只支持 EVM 链,Solana 和 Cosmos 生态用不了。
  • 遇到“地址对但资产不见”的情况,别慌。用你的助记词在对应链的区块浏览器上查地址余额,资产大概率还在。

硬件钱包不是万能药,盲签照样翻车

Ledger 和 Trezor 能防私钥泄露,但防不了你亲手确认一笔恶意交易。2022 年有个案例,用户用 Ledger 签名了一笔 NFT 的 setApprovalForAll 交易,把整个钱包的 NFT 集合授权给了钓鱼合约。硬件钱包屏幕上只显示了合约地址和 Gas 费,他没看懂,按了确认。

所以硬件钱包的正确用法是:屏幕上的信息你要能读懂再按确认。读不懂就拒绝,回去查清楚再操作。Ledger Live 现在对常见合约调用有解析,会显示“Approve”还是“Transfer”,但冷门合约还是只显示原始数据。

老实说,钱包这东西没有“一劳永逸”的方案。助记词保管、Gas 设置、授权管理、链的选择,每个环节都得自己盯。工具能降低门槛,但降不到零。我现在的规矩就三条:助记词离线、大额走硬件钱包、每月撤一次授权。剩下的,靠每次操作前多看一眼。