Wagmi 提供了丰富的 React 钩子(Hooks),覆盖区块链开发的核心场景(账户管理、交易处理、合约交互、网络操作等)。 Link to heading
一、账户与连接(Account & Connect) Link to heading
用于管理钱包连接状态、账户信息及连接生命周期。
钩子名称 | 核心功能 |
---|---|
useAccount |
获取当前连接的钱包账户信息(地址、连接状态、网络 ID 等) |
useConnect |
管理钱包连接逻辑(获取可用钱包列表、触发连接、处理连接状态) |
useDisconnect |
断开当前已连接的钱包 |
useEnsAvatar |
获取 ENS 域名对应的头像 URL |
useEnsName |
将钱包地址解析为 ENS 域名(如 vitalik.eth ) |
useProvider |
获取当前连接钱包的 JSON-RPC Provider(用于直接与区块链交互) |
useSignMessage |
让钱包签名消息(用于身份验证等场景) |
useSignTypedData |
让钱包签名结构化数据(符合 EIP-712 标准,用于更复杂的身份验证) |
useWalletClient |
获取当前连接钱包的客户端实例(用于发起交易、签名等操作) |
二、交易处理(Transactions) Link to heading
用于发送交易、跟踪交易状态及估算 gas。
钩子名称 | 核心功能 |
---|---|
useSendTransaction |
发送原生代币转账交易(如 ETH 转账) |
useWaitForTransactionReceipt |
跟踪交易确认状态,获取交易收据(包含状态、区块号、gas 用量等) |
useEstimateGas |
估算交易或合约调用所需的 gas 数量 |
useFeeData |
获取当前网络的 gas 费用数据(基础费、优先费等) |
useTransaction |
根据交易哈希查询交易详情 |
useTransactionReceipt |
根据交易哈希查询交易收据(已确认的交易) |
三、合约交互(Contracts) Link to heading
用于与智能合约交互(读取数据、写入状态)。
钩子名称 | 核心功能 |
---|---|
useReadContract |
调用合约的只读方法(无需消耗 gas,如查询余额、代币信息) |
useWriteContract |
调用合约的写入方法(修改区块链状态,消耗 gas,如转账代币、铸造 NFT) |
useContractEvent |
监听合约事件(如 ERC20 的 Transfer 事件、NFT 的 Mint 事件) |
usePrepareContractWrite |
预计算合约写入交易的参数(如 gas 估算、签名者信息),优化用户体验 |
四、网络与区块(Network & Blocks) Link to heading
用于管理区块链网络、区块信息及网络切换。
钩子名称 | 核心功能 |
---|---|
useChainId |
获取当前连接的区块链网络 ID(如 1 对应以太坊主网,5 对应 Goerli 测试网) |
useChains |
获取配置的所有区块链网络信息 |
useSwitchChain |
切换钱包连接的区块链网络(需钱包支持该网络) |
useBlockNumber |
获取当前区块链的最新区块号 |
useBlock |
获取指定区块的详细信息(需传入区块号或标签,如 'latest' ) |
usePublicClient |
获取指定网络的公共 JSON-RPC 客户端(无需钱包连接,用于只读操作) |
useWebSocketPublicClient |
获取指定网络的 WebSocket 客户端(用于监听实时区块、事件等) |
五、余额与资产(Balances & Assets) Link to heading
用于查询账户余额及资产信息。
钩子名称 | 核心功能 |
---|---|
useBalance |
查询指定地址的原生代币余额(如 ETH 余额) |
useToken |
查询 ERC20 代币的元数据(名称、符号、小数位等) |
useTokenBalance |
查询指定地址的 ERC20 代币余额 |
useTokens |
批量查询多个 ERC20 代币的元数据 |
六、其他工具类钩子 Link to heading
钩子名称 | 核心功能 |
---|---|
use wagmi |
获取 Wagmi 配置信息及内部状态 |
useMutation |
自定义区块链相关的异步操作(基于 React Query,用于扩展自定义逻辑) |
useQuery |
自定义区块链数据查询(基于 React Query,用于扩展只读操作) |
核心特点总结 Link to heading
- 所有钩子均基于 React Query 实现,内置缓存、重试、状态管理(加载 / 成功 / 错误)。
- 统一适配多种钱包(MetaMask、WalletConnect 等),无需关注底层差异。
- 按功能模块化,覆盖 DApp 开发全流程(从连接钱包到合约交互)。