@aptos-labs/wallet-standard

中文文档
2.0.0发布于 2026/05/29Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 12.6万

Aptos 钱包标准

中文使用文档
文档目录17 节
  1. 安装
  2. 同伴依赖关系
  3. 对于 Dapp 开发者
  4. 检测钱包
  5. 检查可选特性
  6. 钱包开发者
  7. 1. 实施钱包接口
  8. 2. 登记钱包
  9. API 参考
  10. 接口
  11. 所需特性
  12. 可选特性
  13. 链条
  14. 处理错误
  15. 用户回复
  16. 发展
  17. 许可证

Aptos 钱包标准

npm version npm downloads CI codecov License

Aptos钱包标准定义了TypeScript接口和用于Aptos生态系统中的钱包和 Dapp 交互功能. 执行 AIP-62 (中文(简体) ),为钱包与应用程序集成提供了一个一致的方法.

建在连锁不可知的上方 钱包标准,这个库将它扩展为Aptos的特定功能,如交易签名,网络管理和账户处理等.

安装

# npm
npm install @aptos-labs/wallet-standard

# pnpm
pnpm add @aptos-labs/wallet-standard

同伴依赖关系

此软件包需要以下对等依赖性:

对于 Dapp 开发者

检测钱包

使用 getAptosWallets() 以发现所有已注册的 Aptos 兼容钱包。 用于执行钱包的此函数过滤器 需要的特性集。 。 。 .

import { getAptosWallets } from "@aptos-labs/wallet-standard";

const { aptosWallets, on } = getAptosWallets();

// Use currently registered wallets
console.log("Available wallets:", aptosWallets);

// Listen for new wallets that register after page load
const removeListener = on("register", (wallet) => {
  console.log("New wallet registered:", wallet);
});

检查可选特性

使用 isWalletWithRequiredFeatureSet() 检查钱包是否支持超过所需集的额外功能 :

import { isWalletWithRequiredFeatureSet } from "@aptos-labs/wallet-standard";
import type { AptosSignAndSubmitTransactionFeature } from "@aptos-labs/wallet-standard";

if (
  isWalletWithRequiredFeatureSet<AptosSignAndSubmitTransactionFeature>(wallet, [
    "aptos:signAndSubmitTransaction",
  ])
) {
  // Wallet supports sign-and-submit
}

钱包开发者

为了使您的钱包与 Aptos 钱包标准兼容, 请执行 AptosWallet 界面并使用 registerWallet 从 @wallet-standard/core。 。 。 .

1. 实施钱包接口

import { APTOS_CHAINS } from "@aptos-labs/wallet-standard";
import type { AptosWallet, AptosFeatures } from "@aptos-labs/wallet-standard";

class MyWallet implements AptosWallet {
  readonly name = "My Wallet";
  readonly url = "https://mywallet.com";
  readonly version = "1.0.0";
  readonly icon = "data:image/png;base64,...";
  readonly chains = APTOS_CHAINS;
  accounts = [];

  get features(): AptosFeatures {
    return {
      "aptos:connect": { version: "1.0.0", connect: this.connect },
      "aptos:disconnect": { version: "1.0.0", disconnect: this.disconnect },
      "aptos:account": { version: "1.0.0", account: this.account },
      "aptos:network": { version: "1.0.0", network: this.network },
      "aptos:signTransaction": {
        version: "1.0.0",
        signTransaction: this.signTransaction,
      },
      "aptos:signMessage": {
        version: "1.0.0",
        signMessage: this.signMessage,
      },
      "aptos:onAccountChange": {
        version: "1.0.0",
        onAccountChange: this.onAccountChange,
      },
      "aptos:onNetworkChange": {
        version: "1.0.0",
        onNetworkChange: this.onNetworkChange,
      },
    };
  }

  // ... implement each feature method
}

2. 登记钱包

对于浏览器扩展钱包,请拨 registerWallet 当页面加载时 :

import { registerWallet } from "@aptos-labs/wallet-standard";

const myWallet = new MyWallet();
registerWallet(myWallet);

见全 示例钱包执行 一个完整的模板,并附有详细的指导.

API 参考

接口

接口说明
AptosWallet主钱包接口扩展 WalletWithAptosFeatures 带有 url 属性
AptosWalletAccount账户接口扩展 WalletAccount 带有 signingScheme 字段
AccountInfo可序列账户信息类 address, (中文(简体) ), publicKey选择 ansName
NetworkInfo网络细节包括: name, (中文(简体) ), chainId选择 url

所需特性

所有 Aptos 钱包必须执行这些特性 :

特性说明
aptos:connect连接用户账户到 Dapp
aptos:disconnect从 dapp 中断开账户
aptos:account获取当前连接的账户信息
aptos:network获取钱包连接到的当前网络
aptos:signTransaction不提交而签名交易
aptos:signMessage签名任意信件
aptos:onAccountChange听账号更改事件
aptos:onNetworkChange听网络更改事件

可选特性

特性说明
aptos:signAndSubmitTransaction在一步内签名并提交交易
aptos:changeNetwork请求钱包切换网络
aptos:openInMobileApp打开钱包的移动应用程序
aptos:signIn用钱包签名

链条

预定义链标识符 :

import {
  APTOS_MAINNET_CHAIN, // "aptos:mainnet"
  APTOS_TESTNET_CHAIN, // "aptos:testnet"
  APTOS_DEVNET_CHAIN, // "aptos:devnet"
  APTOS_LOCALNET_CHAIN, // "aptos:localnet"
  APTOS_CHAINS, // All of the above
} from "@aptos-labs/wallet-standard";

处理错误

库通过 AptosWalletError数字 :

import {
  AptosWalletError,
  AptosWalletErrorCode,
} from "@aptos-labs/wallet-standard";

// Error codes:
// 4100 - Unauthorized: method/account not authorized by the user
// 4200 - Unsupported: requested feature is not supported
// -30001 - InternalError: something went wrong within the wallet

用户回复

促使用户核准返回的方法a UserResponse<T>,让钱包发出批准(结果)或拒绝信号的歧视工会。 以下特征使用此形状:

  • aptos:connect
  • aptos:signTransaction
  • aptos:signAndSubmitTransaction
  • aptos:signMessage
  • aptos:signIn
  • aptos:changeNetwork

其他需要的特性直接返回其值(仍然同步): aptos:account 返回时 Promise<AccountInfo>, (中文(简体) ), aptos:network 返回时 Promise<NetworkInfo>, (中文(简体) ), aptos:disconnect 返回时 Promise<void>,则 onAccountChange 编号 : onNetworkChange 特性注册订阅.

import { UserResponseStatus } from "@aptos-labs/wallet-standard";

const response = await wallet.features["aptos:connect"].connect();

if (response.status === UserResponseStatus.APPROVED) {
  console.log("Connected:", response.args); // AccountInfo
} else {
  console.log("User rejected the connection");
}

发展

# Install dependencies
pnpm install

# Build
pnpm build

# Lint
pnpm lint

# Format
pnpm format

许可证

阿帕奇 - 2.0

版本与发布记录

@aptos-labs/wallet-standard 共发布 24 个版本,首次发布于 2024/02/06;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.0latest2026/05/295 个月前
1.0.02026/03/137 个月前
0.5.22025/09/161.1 年前
0.5.12025/07/221.3 年前
0.5.02025/05/281.4 年前
0.4.02025/05/071.5 年前

其他发布通道:multisig → 0.1.0-ms.1。

关于 @aptos-labs/wallet-standard 的常见问题

@aptos-labs/wallet-standard 是什么?

Aptos 钱包标准

如何安装 @aptos-labs/wallet-standard?

在项目目录运行 npm install @aptos-labs/wallet-standard,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@aptos-labs/ts-sdk(^7.1.0)、@wallet-standard/core(^1.0.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aptos-labs/wallet-standard 支持 TypeScript 吗?

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

@aptos-labs/wallet-standard 支持 ESM 还是 CommonJS?

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

@aptos-labs/wallet-standard 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aptos-labs/wallet-standard 可以商用吗?

@aptos-labs/wallet-standard 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aptos-labs/wallet-standard 的下载量有多少?

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

@aptos-labs/wallet-standard 还在维护吗?

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