wagmi 是面向以太坊与 EVM 兼容链的 React Hooks 库。它提供类型安全、可组合的基础能力,用于钱包连接、合约读取与写入、交易追踪、链切换以及 ENS 解析;底层基于 viem,并使用 TanStack Query 处理缓存和状态管理。需要注意的是,此资料针对 wagmi v2,其 API 与 v1 有大量破坏性变更:WagmiConfig 已被 WagmiProvider 取代,必须同时用 WagmiProvider 和 QueryClientProvider 包裹应用,否则 Hook 会报 No QueryClient set;配置由 createClient 改为 createConfig,transports 需按链 ID 逐链配置;Hook 名称也发生变化,如 useContractRead 改为 useReadContract、useContractWrite 改为 useWriteContract、useWaitForTransaction 改为 useWaitForTransactionReceipt,usePrepareContractWrite 已被移除;连接器需从 wagmi/connectors 导入。
用法上,先安装 npm install wagmi viem @tanstack/react-query,再通过 createConfig 配置链、连接器和各链 transport,并在应用中用 WagmiProvider 与 QueryClientProvider 提供上下文。核心 Hook 涵盖账户连接状态、钱包连接与断连、原生及 ERC-20 余额、合约读取、合约写入、交易模拟、交易回执等待、链 ID 获取与链切换、ENS 名称与地址解析、区块追踪等。所有链上代币数量均为 bigint,ABI 数组需用 as const 才能获得参数与返回值的类型推断。资料还介绍了常见进阶模式,如为特定合约封装可复用 Hook、先授权再执行的 ERC-20 approve 流程,以及 SSR/Next.js 集成中通过 ssr: true、cookieStorage 和 cookieToInitialState 处理状态水合,并提及可监听合约事件。限制方面:资料未提供收费、价格、平台或效果说明,暂未提供。