# @dynamic-labs-sdk/wagmi 中文文档

规范地址：https://npmcn.com/package/%40dynamic-labs-sdk/wagmi/

版本：1\.51\.0
npm 元数据更新时间：2026-11-10T18:07:53.228Z
中文译文更新时间：2026-11-13T02:21:49.533Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dynamic-labs-sdk/wagmi
原文对照：https://npmcn.com/package/%40dynamic-labs-sdk/wagmi/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，39 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：viem ^2\.28\.4，react ^18\.0\.0 \|\| ^19\.0\.0，wagmi ^2\.0\.0 \|\| ^3\.0\.0，@wagmi/core ^2\.0\.0 \|\| ^3\.0\.0
- 首次发布：2026-08-13T12:58:15.372Z
- 最新版本发布：2026-11-10T18:07:53.012Z
- 近 30 天下载量：4668（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：42（近 12 个月 42 个）

## 中文简介

公务 [华为](https://wagmi.sh/) 支持动态JS SDK. 显示动态管理 EVM 钱包账户( 嵌入/ OTP 或外部) , 作为 wagmi 连接器 `useAccount`, (中文(简体) ), `useSendTransaction`, (中文(简体) ), `useReadContract`,其余的 wagmi/viem 钩克

## 安装

```sh
npm install @dynamic-labs-sdk/wagmi
```

也可以使用：`pnpm add @dynamic-labs-sdk/wagmi`、`yarn add @dynamic-labs-sdk/wagmi`、`bun add @dynamic-labs-sdk/wagmi`

## README

# @ difficial-labs- sdk/ wagmi (英语)

公务 [华为](https://wagmi.sh/) 支持动态JS SDK. 显示 a 动态管理 EVM 钱包账户(嵌入/OTP 或外部)为 wagmi 连接器是这样 `useAccount`, (中文(简体) ), `useSendTransaction`, (中文(简体) ), `useReadContract`,其余则 有动态钱包 保留钱包状态的真相来源.

## 安装

```bash
npm install @dynamic-labs-sdk/wagmi wagmi @wagmi/core viem @tanstack/react-query
```

`wagmi`, (中文(简体) ), `@wagmi/core` 财务报告和审定财务报表 `viem` 是同伴的依赖关系. `wagmi` 财务报告和审定财务报表 `@tanstack/react-query` 只有反应者需要帮助.

## 要使用的 API

使用自动同步—— `syncDynamicWagmi` 在香草JS, `SyncDynamicWagmi` 编号 : `useSyncDynamicWagmi` 在反应。 都盯着Dynami的 **选中** EVM 钱包账户,所以 `setSelectedWalletAccount(...)` 这是你一直呼吁 动起来.

|  | 香草联署材料 | 反应 |
| --- | --- | --- |
| 将 wagmi 保留在 Dynamic 选定的账户上 | `syncDynamicWagmi` | `SyncDynamicWagmi` (或 `useSyncDynamicWagmi` 钩子) |
| 自己打一个账户 | `createDynamicWagmiConnector` | `createDynamicWagmiConnector` |

`createDynamicWagmiConnector` 是原始的两种同步帮助都建立在上。 这个 桥 **一个** 账号——你通过的那个账号——从不跟踪 Dynamic的选取,所以只有在你故意想要给 wagmi 针入时才能达到 具体账户.

## 香草联署材料

`syncDynamicWagmi` 在 Dynamic 选定的 EVM 钱包账户上保留一个 wagmi 配置, 没有反应 它订阅 Dynamic 的钱包事件和驱动器 维克米的 `connect` 编号 : `disconnect` 当选择更改时——登录,钱包 切换,或登录——并返回停止同步的函数.

创建您的 wagmi 配置 **启动时一次** 你没有钱包账户 你却从未重建过这个配置 没有动态连接器在 `createConfig`数字 :

```ts
import { createConfig, http } from '@wagmi/core';
import { mainnet } from 'viem/chains';

export const config = createConfig({
  chains: [mainnet],
  transports: { [mainnet.id]: http() },
});
```

然后开始同步一次——没有 `walletAccount` 辩论,你从来没有 自己建立一个连接器 :

```ts
import { setSelectedWalletAccount } from '@dynamic-labs-sdk/client';
import { syncDynamicWagmi } from '@dynamic-labs-sdk/wagmi';

const stopSync = syncDynamicWagmi({ config });

// When you're done (teardown / logout):
stopSync();
```

它可以在用户拥有钱包之前开始:wagmi在EVM之前保持断开 选择钱包账户.

如果您使用多个动态客户端, 请通过客户端作为第二个参数 :

```ts
const stopSync = syncDynamicWagmi({ config }, client);
```

### 切换目标钱包账户

切换是一个动态呼叫——没有wagmi代码:

```ts
import { setSelectedWalletAccount } from '@dynamic-labs-sdk/client';

// wagmi re-points to nextWalletAccount automatically.
await setSelectedWalletAccount({ walletAccount: nextWalletAccount });
```

### 将 wagmi 插入一个特定账户

如果你想让wagmi来解释你的选择 而不是Dynamic的选择 一,自己建连接器. 钱包提供者来自 账户,所以你只通过账户:

```ts
import { connect, disconnect, getConnections } from '@wagmi/core';
import { createDynamicWagmiConnector } from '@dynamic-labs-sdk/wagmi';

await connect(config, {
  connector: createDynamicWagmiConnector({ walletAccount }),
});

// Dynamic-backed connectors carry `type: 'dynamic'`, so you can disconnect
// yours by name and leave connections your app made elsewhere untouched.
const dynamicConnections = getConnections(config).filter(
  (connection) => connection.connector.type === 'dynamic'
);

for (const { connector } of dynamicConnections) {
  await disconnect(config, { connector });
}
```

此连接器与该单一账户绑定, 不响应 `setSelectedWalletAccount(...)`; 将其指向别处, 断开连接 用于另一个账户的连接器.

如果您使用多个动态客户端, 请通过客户端作为第二个参数 :

```ts
const connector = createDynamicWagmiConnector({ walletAccount }, client);
```

## 反应

`SyncDynamicWagmi` (或 `useSyncDynamicWagmi` 钩子)是反应包装器 周围 `syncDynamicWagmi` ——它运行组件寿命的同步. 这个 监视动态 **选中** EVM 钱包账户和驱动 wagmi 的 `connect` 编号 : `disconnect` 当选择更改时, 您需要登录、 钱包切换或 登录。 没错 **没有** 通过一个 `walletAccount`,而你从来没有建立连接器 你自己来.

报酬: 给Dynamic的 `setSelectedWalletAccount(...)` 在你的应用程序中任何地方 和瓦格米自动跟随 `useAccount` 和朋友重新指向新来的 选中的账户没有额外的线程 。 动态保持真相的来源; wagmi 是一个只读的镜像。 它使什么也没有.

```tsx
import { DynamicProvider } from '@dynamic-labs-sdk/react-hooks';
import { SyncDynamicWagmi } from '@dynamic-labs-sdk/wagmi/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { WagmiProvider, createConfig, http } from 'wagmi';
import { mainnet } from 'wagmi/chains';

// Your Dynamic client, created once via createDynamicClient(...).
import { client } from './dynamicClient';

// Dynamic handles wallet discovery, so disable wagmi's own injected discovery.
const config = createConfig({
  chains: [mainnet],
  multiInjectedProviderDiscovery: false,
  transports: { [mainnet.id]: http() },
});

const queryClient = new QueryClient();

// DynamicProvider makes the client available to the rest of Dynamic's React
// hooks (useUser, useGetWalletAccounts, ...). SyncDynamicWagmi uses the same
// client to keep wagmi in sync.
export const Providers = ({ children }) => (
  <DynamicProvider client={client}>
    <WagmiProvider config={config}>
      <QueryClientProvider client={queryClient}>
        <SyncDynamicWagmi config={config} />
        {children}
      </QueryClientProvider>
    </WagmiProvider>
  </DynamicProvider>
);
```

一旦挂载, 任何 wagmi 钩子都会镜像选中的动态钱包并切换 账户只是一个动态调用——没有wagmi代码:

```tsx
import { setSelectedWalletAccount } from '@dynamic-labs-sdk/client';
import { useAccount } from 'wagmi';

const { address, isConnected } = useAccount();

// wagmi re-points to nextWalletAccount automatically.
await setSelectedWalletAccount({ walletAccount: nextWalletAccount });
```

钩也可直接取出:

```tsx
import { useSyncDynamicWagmi } from '@dynamic-labs-sdk/wagmi/react';

useSyncDynamicWagmi({ config });
```

## 支持的东西

-   `connect` 编号 : `disconnect`
-   `getAccounts` 编号 : `getChainId` 编号 : `isAuthorized`
-   `switchChain`
-   转发动态钱包事件( 账户更改、 网络更改、 断开) 给瓦格米.

## 注释限制( L)

-   v1 一次桥接一个单一的 EVM 账户(同步时选中的账户 一个你通过其他。 同时连接多个EVM账户是一个 后续行动——如果需要,请告诉我们.
-   仅连接 EVM 钱包账户 。 选择一个非 EVM 钱包账户( 如 ) . Solana)将wagmi断开,直到选择 EVM 钱包账户 再来一次.
-   并不是每个动态钱包提供者都可以更改网络. 当基础 提供者不能, `switchChain` - 和 `connect(config, { connector, chainId })` 除了钱包的当前链条外 `SwitchChainNotSupportedError` 而不是沉默地停留在旧的网络上.

## 常见问题

### @dynamic-labs-sdk/wagmi 是什么？

公务 华为 支持动态JS SDK\. 显示动态管理 EVM 钱包账户\( 嵌入/ OTP 或外部\) , 作为 wagmi 连接器 useAccount, \(中文\(简体\) \), useSendTransaction, \(中文\(简体\) \), useReadContract,其余的 wagmi/viem 钩克

### 如何安装 @dynamic-labs-sdk/wagmi？

在项目目录运行 npm install @dynamic-labs-sdk/wagmi，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：viem（^2\.28\.4）、@wagmi/core（^2\.0\.0 \|\| ^3\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @dynamic-labs-sdk/wagmi 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dynamic-labs-sdk/wagmi 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dynamic-labs-sdk/wagmi 可以商用吗？

@dynamic-labs-sdk/wagmi 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @dynamic-labs-sdk/wagmi 的下载量有多少？

根据 npm 官方下载统计，@dynamic-labs-sdk/wagmi 在 2026/10/13 – 2026/11/11 这 30 天内被下载 4,668 次，日均约 156 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dynamic-labs-sdk/wagmi 还在维护吗？

最新版本 1\.51\.0 发布于 2026/11/11（2 天前）；至今共发布 42 个版本，其中过去 12 个月发布了 42 个；首次发布于 2026/08/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

