01
2022 年自己做,不是为了重复造一个 ConnectButton
use-wallet 在 2022 年初就已有实现,old 分支保留了 1 月的钱包代码与 2 月的发布记录;现主线初始化记录的作者日期为 5 月 13 日。我的自研动机是同时支持 Conflux Core 与 EVM,保持轻量,并让每个 DApp 自由设计连接界面。以 RainbowKit 0.1.0 作方案对照:其官方用法导入 base styles,以 wagmi + ethers 配置 provider,嵌套 WagmiProvider / RainbowKitProvider,再使用 ConnectButton,定制入口主要是显示项 props 与主题变量。这里还需要 cfx_*、Base32 地址、latest_state 和 CIP-23,因此 use-wallet 只封装 window provider 和连接状态,不提供固定 UI;现主线初始 README 记录的体积目标是源码 gzip 约 3.7 KB,包含 decimal.js 时约 20 KB。
- 不是否定 wagmi / RainbowKit,而是当时的问题边界不同
- 链差异必须保留:Conflux Core 不能只当作另一个 EVM chainId
- UI 所有权必须留在产品:hooks 与命令先于 ConnectButton