@exodus/models

中文文档
13.3.3发布于 2026/10/23MITTypeScriptES Module近 30 天下载 10万

Exodus钱包野外世界常见商业物品容器

中文使用文档
文档目录16 节
  1. 安装/使用
  2. 共享接口
  3. AccountState
  4. Address
  5. AddressSet
  6. FiatOrder
  7. FiatOrderSet
  8. Order
  9. OrderSet
  10. PersonalNote
  11. PersonalNoteSet
  12. Tx
  13. TxSet
  14. UtxoCollection
  15. WalletAccount
  16. WalletAccountSet

@exodus/models

Exodus钱包野外世界常见商业物品的容器. 这些功能通常提供一些基本功能,例如:永续性(调用方法返回新实例)、验证、序列化和比较.

用于收集的容器通常具有通过某些语义参数访问元素的方便方法,并与其他收集物合并。 这些往往是所收集的商业对象所特有的.

安装/使用

pnpm add @exodus/models

这个库将每个模型导出为命名导出. 用法示例:

import { WalletAccount } from '@exodus/models'

const investments = new WalletAccount({
  source: WalletAccount.EXODUS_SRC,
  index: 0,
  label: 'Not investment advice',
})

const updatedInvestments = investments.update({ label: 'Still not investment advice' })
investments.equals(updatedInvestments) // false
investments instanceof WalletAccount // true

investments.toJSON() // serialize for storage
WalletAccount.fromJSON(investments.toJSON()) // deserialize from storage

const safeInvestments = new WalletAccount({
  id: '1234', // comes from device
  source: WalletAccount.TREZOR_SRC,
  index: 0,
  label: 'Really not investment advice',
})

收藏使用实例 :

const myPortfolios = new WalletAccountSet({ [investments]: investments })
const myUpdatedPortfolios = myPortfolios.update({ [safeInvestments]: safeInvestments })
myUpdatedPortfolios.toJSON() // serialize for storage

请参看模型特定测试中的更多实例.

共享接口

所有模型都有静态方法 .[Symbol.hasInstance](obj) 返回时 true 若为 obj 这是模型的一例。 这样一来 instanceof 检查返回 true 即使是来自不同版本的模型 @exodus/models 软件包.

AccountState

资产区块链状态的容器,如余额,令牌余额,utxos等. 这是一个基础类别,所有特定资产账户类别都从这一类别延伸。 无法直接初始化 .

Address

块链地址串和相关元数据的容器,例如: 键标识符 那个地址.

AddressSet

收缴 Address对.

FiatOrder

与 " -- -- " 密码买卖有关的数据容器.

FiatOrderSet

收缴 FiatOrder编号.

Order

用于交换一个密码资产和另一个密码资产的数据的容器.

OrderSet

收缴 Order编号.

PersonalNote

用于交易的用户个人票据的容器,例如"pizza"

PersonalNoteSet

收集资料 PersonalNote编号.

Tx

与区块链交易有关的数据容器,例如交易编号、金额、确认、来源地址、目的地地址等.

TxSet

收缴 Txs. (中文(简体) ). 无法直接构造, 因此从 TxSet.EMPTY 或使用静态方法 TxSet.fromArray()说明: txSet.equals(otherSet) 只比较交易编号; 使用 txSet.deepEquals(otherSet) 用于全面交易比较.

UtxoCollection

收集UTXOs. 没有相应的 UTXO 型号。 使用 utxoCollection.select(amount, feeEstimator) 以选择要发送的给定数量.

WalletAccount

A/ 集装箱 bip44 账户指数 和用户特有的组合元数据。 稍有反感,如果看bip44路径,出奥多斯钱包中每个组合对应一篮子资产,即以下两个路径都将对应一篮子"

  • m/44'/0'/7'/0/0: 组合 7 的第一个比特币地址
  • m/44'/60'/7'/0/0: 组合 7 的第一个电子地址

WalletAccountSet

收缴 WalletAccount编号.

版本与发布记录

@exodus/models 共发布 170 个版本,首次发布于 2018/10/26;过去 12 个月发布了 19 个版本。

版本发布日期距今
13.3.3latest2026/10/2321 天前
13.3.22026/09/171 个月前
13.3.12026/06/045 个月前
13.3.02026/05/285 个月前
13.2.52026/05/195 个月前
13.2.42026/05/185 个月前

关于 @exodus/models 的常见问题

@exodus/models 是什么?

Exodus钱包野外世界常见商业物品容器

如何安装 @exodus/models?

在项目目录运行 npm install @exodus/models,或使用 pnpm add / yarn add / bun add。

@exodus/models 支持 TypeScript 吗?

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

@exodus/models 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@exodus/models 可以商用吗?

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

@exodus/models 的下载量有多少?

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

@exodus/models 还在维护吗?

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