Q17 · Web3 场景优化
Web3 dApp 相比普通 Web,在前端性能上多了哪些"特别慢"的地方?
⚡ 速记答案(30 秒)
- 链上调用 / RPC 调用本身有网络 + 区块确认延迟
- 钱包交互(签名 / 授权)需要用户操作,节奏不可控
- 价格、K 线、订单簿等数据更新非常频繁
- 多网络 / 多合约数据聚合时,请求数量爆炸
- 所以:前端要做的是"掩饰链慢",让用户感觉系统在"活着"
📖 详细讲解
Web3 特有的性能挑战
1. 链上调用延迟
| 操作 | 延迟 |
|---|---|
| RPC 调用 | 100ms - 2s |
| 交易确认 | 3s - 数分钟 |
| 跨链操作 | 分钟级 |
2. 钱包交互
• 签名弹窗等待用户确认
• 网络切换确认
• Gas 估算调用
3. 数据更新频率
• 价格数据:毫秒级
• 订单簿:毫秒级
• 链上状态:区块级
4. 请求爆炸
• 多链资产查询
• 多合约状态聚合
• NFT 元数据加载
优化策略
• 乐观更新
• 批量请求 (multicall)
• 本地缓存
• 骨架屏和加载状态
面试技巧:回答性能问题时,先说指标和标准,再讲优化手段,最后结合实际项目经验。