# @aptos-labs/wallet-standard 中文文档

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

版本：2\.0\.0
npm 元数据更新时间：2026-05-28T20:00:10.503Z
中文译文更新时间：2026-11-06T13:02:19.358Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40aptos-labs/wallet-standard
原文对照：https://npmcn.com/package/%40aptos-labs/wallet-standard/?lang=original
项目主页：https://github.com/aptos-labs/wallet-standard
源码仓库：https://github.com/aptos-labs/wallet-standard

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

- 包体积（解压后）：122 kB，113 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：0 个
- peer 依赖：@aptos-labs/ts-sdk ^7\.1\.0，@wallet-standard/core ^1\.0\.3
- 首次发布：2024-02-05T17:39:13.171Z
- 最新版本发布：2026-05-28T20:00:10.246Z
- 近 30 天下载量：126377（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 2 个）

## 中文简介

Aptos 钱包标准

## 安装

```sh
npm install @aptos-labs/wallet-standard
```

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

## README

# Aptos 钱包标准

[![npm version](https://img.shields.io/npm/v/@aptos-labs/wallet-standard)](https://www.npmjs.com/package/@aptos-labs/wallet-standard) [![npm downloads](https://img.shields.io/npm/dm/@aptos-labs/wallet-standard)](https://www.npmjs.com/package/@aptos-labs/wallet-standard) [![CI](https://github.com/aptos-labs/wallet-standard/actions/workflows/ci.yml/badge.svg)](https://github.com/aptos-labs/wallet-standard/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/aptos-labs/wallet-standard/graph/badge.svg)](https://codecov.io/gh/aptos-labs/wallet-standard) [![License](https://img.shields.io/npm/l/@aptos-labs/wallet-standard)](https://npmcn.com/package/%40aptos-labs/wallet-standard/LICENSE)

Aptos钱包标准定义了TypeScript接口和用于Aptos生态系统中的钱包和 Dapp 交互功能. 执行 [AIP-62 (中文(简体) )](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-62.md),为钱包与应用程序集成提供了一个一致的方法.

建在连锁不可知的上方 [钱包标准](https://github.com/wallet-standard/wallet-standard),这个库将它扩展为Aptos的特定功能,如交易签名,网络管理和账户处理等.

## 安装

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

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

### 同伴依赖关系

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

-   [`@aptos-labs/ts-sdk`](https://github.com/aptos-labs/aptos-ts-sdk) `^7.1.0`
-   [`@wallet-standard/core`](https://github.com/wallet-standard/wallet-standard) `^1.0.3`

## 对于 Dapp 开发者

### 检测钱包

使用 `getAptosWallets()` 以发现所有已注册的 Aptos 兼容钱包。 用于执行钱包的此函数过滤器 [需要的特性集](https://npmcn.com/package/%40aptos-labs/wallet-standard/#readme-required-features)。 。 。 .

```typescript
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()` 检查钱包是否支持超过所需集的额外功能 :

```typescript
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\. 实施钱包接口

```typescript
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` 当页面加载时 :

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

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

见全 [示例钱包执行](https://npmcn.com/package/%40aptos-labs/wallet-standard/example/basic/wallet.ts) 一个完整的模板,并附有详细的指导.

## 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` | 用钱包签名 |

### 链条

预定义链标识符 :

```typescript
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`数字 :

```typescript
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` 特性注册订阅.

```typescript
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");
}
```

## 发展

```bash
# Install dependencies
pnpm install

# Build
pnpm build

# Lint
pnpm lint

# Format
pnpm format
```

## 许可证

阿帕奇 - 2.0

## 常见问题

### @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 和提交记录判断。

