@dynamic-labs/multi-wallet

中文文档
5.16.1发布于 2026/11/13MITTypeScriptESM + CJS近 30 天下载 34.3万

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

中文使用文档
文档目录14 节
  1. 概览
  2. 关键特性
  3. 核心职能
  4. getSupportedWallets(opts)
  5. getWalletConnectorConstructorOptions(params)
  6. getEnabledWallets(props)
  7. generateMessageToSign(params)
  8. getEnabledProviders(providers)
  9. getSupportedChainsForWalletConnector(walletBook, walletConn…
  10. 使用量
  11. 动态 SDK 用法
  12. 发展
  13. 运行单元测试
  14. 构建软件包

@ 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链).

使用量

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 的钱包认证信件

发展

运行单元测试

npx nx test multi-wallet

构建软件包

npx nx build multi-wallet

版本与发布记录

@dynamic-labs/multi-wallet 共发布 1,305 个版本,首次发布于 2022/05/07;过去 12 个月发布了 179 个版本。

版本发布日期距今
5.16.1latest2026/11/13今天
5.16.02026/11/112 天前
5.15.12026/11/103 天前
5.15.02026/11/103 天前
4.104.0v4-lts2026/11/0310 天前
5.14.02026/10/3013 天前

其他发布通道:alpha → 4.83.2-alpha.0,rc → 5.0.0-rc.4,v4-lts → 4.104.0。

关于 @dynamic-labs/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 和提交记录判断。