@dynamic-labs/wallet-book

中文文档
5.16.0发布于 2026/11/11MITTypeScriptESM + CJS近 30 天下载 37.9万
中文使用文档
文档目录6 节
  1. 更新钱包本
  2. 增加第一党钱包
  3. 添加已注射( 浏览扩展名) 钱包
  4. 更新钱包连接数据
  5. 在钱包上添加覆盖
  6. 编译和出版

钱包本

更新钱包本

增加第一党钱包

简单地添加一个条目到 firstPartyWalletsData 内 packages/wallet-book/src/build/sources/firstParty/index.ts 财务报告和审定财务报表 编译和出版

例如:

  argentx: {
    brand: {
      alt: 'Argent Wallet',
      primaryColor: '#FF875B',
      spriteId: 'argentx',
    },
    desktop: {
      chromeId: 'dlcobpjiigpikoobohmabehhmhfoodbb',
      firefoxId: 'argent-x',
    },
    name: 'Argent X',
    injectedConfig: [
      {
        chain: 'EVM',
        extensionLocators:
      }
    ]
  },

需要的字段 :

  • brand
    • alt
    • primaryColor
    • spriteId - 标志性svg中使用的ID
    • name

参见 WalletRecordsSchema 用于更多计划选项

添加已注射( 浏览扩展名) 钱包

类似 添加第一党钱包我们再加一把钥匙, injectedConfig 到钱包对象.

...
injectedConfig: [
  {
    chain: 'EVM',
    extensionLocators: [
      { flag: 'isOkxWallet', value: true },
      { flag: 'isOkexWallet', value: true }
    ],
    windowLocations: ['okxwallet']
  }
],
name: 'OKX'

如果您需要覆盖以下任何功能: signedMessage, getAddress, getSigner, isInsstalled OnBrowser等...

  1. 创建相应的文件 ethereum/src/injected/ 或者说 solana/src/injected/。基本文件应该遵循此表单 :
export class <NameOfConnector> extends InjectedWalletBase {
  override name = '<Name Here>';
  override walletConnectorFallback = true; // only specified on evm wallet connectors

  constructor(props: EthereumWalletConnectorOpts) {
    super(props);

    this.wallet = findWalletBookWallet(this.walletBook, this.key);
  }

  // override the methods you need below
  override async getAddress() {
    ...
  }
}
  1. 打开 fetchInjectedWalletConnectors.ts 网络软件包etherem/solana/...)并添加新的注射式WalletBase类 injectedWalletOverrides 和 filterInjectedWalletKeyOverrides

添加新钱包时要记住的事

  • If the new wallet is also in walletconnect.json:确保所使用的密钥 firstParty/index.ts 这是 same 作为来自 walletconnect.json 从钱包定义中继承属性.
  • 数值 : windowLocations 地图到 window.<value from windowLocations>也就是说. okxwallet 表示 window.okxwallet。这些值可以是一条被划定的嵌入路径。 如果钱包在下面 window.ethereum 或者说 window.ethereum.providers,这些窗口位置默认为导入.
  • 对于您为新钱包添加的每个扩展名定位符, 请添加否定 [{ flag: 'isOkxWallet', value: false }, ...] 扩展标记 metamask 键在第一党.
  • 如果启用新钱包连接( 存在于 walletconnect.json),确保添加: filterFromWalletConnect: true 作为兄弟 injectedConfig 它将从钱包连接器列表中过滤钱包,并将钱包连接作为倒置连接.

提交 PR 之前的核对表数字 :

[ ]: 如果修改后在插入的文件夹中添加了新文件, 请将钱包密钥添加到 walletBookFallbackList 内 packages/wallet-book/src/build/index.ts

[ ]: 如果钱包簿中的名称正在更改, 请确保如果没有新文件 injected/ 文件夹,您至少确定 shortName 普通化到钱包密钥

myawesomenewwallet: {
  ...
  injectedConfig: { ... },
  shortName: 'My Awesome New Wallet', // maps down to the key if you lowercase and remove special characters and spaces
  name: 'Awesome Wallet' // this will be displayed in the wallet list and can be changed as long as the `shortName` normalizes to the key
}

注:

参见 injectedConfigSchema 用于计划选项

更新钱包连接数据

在钱包上添加覆盖

  • 修改软件包/Wallet-book/src/building/ sources/walletConnectOverrides/index.ts
  • 编译和出版

编译和出版

编译的json 存储于 packages/wallet-book/wallet-book.json当文件更新时 并合并为主机,将自动发布到S3.

简而言之,做出你需要的任何改变,以及:

  1. 清除钱包簿逻辑的任何缓存
npm run nuke
  1. 编译
npx nx compile wallet-book

版本与发布记录

@dynamic-labs/wallet-book 共发布 944 个版本,首次发布于 2023/03/14;过去 12 个月发布了 177 个版本。

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

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

关于 @dynamic-labs/wallet-book 的常见问题

@dynamic-labs/wallet-book 是什么?

钱包本 - 说吧 更新钱包本 - 说吧 增加第一党钱包 - 说吧 添加已注射( 浏览扩展名) 钱包 - [如果你没有

如何安装 @dynamic-labs/wallet-book?

在项目目录运行 npm install @dynamic-labs/wallet-book,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.0.0 <20.0.0)、react-dom(>=18.0.0 <20.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dynamic-labs/wallet-book 支持 TypeScript 吗?

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

@dynamic-labs/wallet-book 支持 ESM 还是 CommonJS?

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

@dynamic-labs/wallet-book 可以商用吗?

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

@dynamic-labs/wallet-book 的下载量有多少?

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

@dynamic-labs/wallet-book 还在维护吗?

最新版本 5.16.0 发布于 2026/11/11(2 天前);至今共发布 944 个版本,其中过去 12 个月发布了 177 个;首次发布于 2023/03/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。