# @dynamic-labs/multi-wallet 中文文档

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

版本：5\.16\.1
npm 元数据更新时间：2026-11-13T08:41:13.328Z
中文译文更新时间：2026-11-13T02:23:24.891Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dynamic-labs/multi-wallet
原文对照：https://npmcn.com/package/%40dynamic-labs/multi-wallet/?lang=original
项目主页：https://www.dynamic.xyz/

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

- 包体积（解压后）：642 kB，54 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：8 个
- 首次发布：2022-05-07T15:14:13.192Z
- 最新版本发布：2026-11-13T08:41:12.884Z
- 近 30 天下载量：342977（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：1305（近 12 个月 179 个）

## 中文简介

多钱包是一个与许多不同的钱包合作创建和验证签名的工具包

## 安装

```sh
npm install @dynamic-labs/multi-wallet
```

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

## README

# @ difficial- labs/ 多站点

## 概览

多Wallet包在动态实验室SDK中提供了过滤和配置钱包连接器的实用功能. 它包含主SDK用来根据项目设置和被启用的链条确定哪些钱包应该可用的帮助器函数.

## 关键特性

-   **钱包过滤**: 根据启用的链条和工程设置过滤钱包连接器
-   **配置大楼**: 创建即时钱包连接器所需的配置对象
-   **信件生成**: 生成钱包签名操作的标准化消息
-   **提供者过滤**: 确定允许哪些认证提供者

## 核心职能

### `getSupportedWallets(opts)`

主要函数返回已过滤过的可用钱包连接器列表,其依据是:

-   项目设置和启用供应商
-   平台相容性(移动式/台式计算机)
-   钱包可用性和安装状况
-   用户偏好和已禁用的连接器

### `getWalletConnectorConstructorOptions(params)`

构建钱包连接器构建器的配置选项,包括:

-   所有支持链的网络配置
-   API 供应商和 RPC 配置
-   认证模式和用户界面工具
-   钱包连接项目设置

### `getEnabledWallets(props)`

基于启用的链条过滤钱包连接器 。 以 :

-   `enabledChains`: 已启用的链类型阵列
-   `getSupportedWalletOpts`: 获取所支持钱包的配置选项

### `generateMessageToSign(params)`

为钱包签名操作创建标准化消息. 需要一个 `MessageParameters` 对象, 有字段, 如 :

-   `blockchain`: 区块链类型 (Chain)
-   `domain`: 请求签名的域
-   `nonce`: 请求书中唯一的非文件
-   `publicKey`: 用户的公用钥匙
-   `uri`: 请求申请的URI
-   用于链路、语句、资源等的可选字段.

### `getEnabledProviders(providers)`

过滤提供者只返回已启用的( 有) `enabledAt` 设定, 或魔法链接与 `providerProjectId`),或称"Twitchey".

### `getSupportedChainsForWalletConnector(walletBook, walletConnector)`

返回特定钱包连接器实例的支持链条 。 行为取决于 `mergeWalletBookChains` 连接符的属性 :

-   何时 `mergeWalletBookChains` 实值 `true` (默认):从钱包簿(全球钱包品牌能力)和连接器返回一组合并的链条 `supportedChains`。这是大多数连接器的默认行为.
    
-   何时 `mergeWalletBookChains` 实值 `false`: 只返回连接符 `supportedChains`,忽略钱包书链。 这个用于Solana WalletConnect连接器,以确保在Solana被禁用时被正确过滤出,即使钱包簿显示钱包品牌在全球支持ETH和SOL(例如,Trust Wallet Solana连接器与钱包Key'trust'匹配的钱包簿条目同时列出EVM和SOL链).
    

## 使用量

```typescript
import { getSupportedWallets } from '@dynamic-labs/multi-wallet';

const wallets = getSupportedWallets({
  settings: projectSettings,
  walletConnectorsProp: walletConnectors,
  walletBook: walletBookData,
  chainRpcProviders: rpcProviders,
  // ... other options
});
```

## 动态 SDK 用法

这个软件包主要由动态SDK React Core软件包内部使用. 主要使用模式是:

-   **钱包列表大楼**数字 : `getEnabledWallets` 用于根据启用的链过滤可用的钱包
-   **配置设置**数字 : `getWalletConnectorConstructorOptions` 构建创建钱包连接器实例所需的选项
-   **信件签名**数字 : `generateMessageToSign` 创建符合 SIWE 的钱包认证信件

## 发展

### 运行单元测试

```bash
npx nx test multi-wallet
```

### 构建软件包

```bash
npx nx build multi-wallet
```

## 常见问题

### @dynamic-labs/multi-wallet 是什么？

多钱包是一个与许多不同的钱包合作创建和验证签名的工具包

### 如何安装 @dynamic-labs/multi-wallet？

在项目目录运行 npm install @dynamic-labs/multi-wallet，或使用 pnpm add / yarn add / bun add。

### @dynamic-labs/multi-wallet 支持 TypeScript 吗？

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

### @dynamic-labs/multi-wallet 支持 ESM 还是 CommonJS？

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

### @dynamic-labs/multi-wallet 可以商用吗？

@dynamic-labs/multi-wallet 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @dynamic-labs/multi-wallet 的下载量有多少？

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

### @dynamic-labs/multi-wallet 还在维护吗？

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

