# @amadeus-protocol/wallet-sdk 中文文档

规范地址：https://npmcn.com/package/%40amadeus-protocol/wallet-sdk/

版本：0\.1\.7
npm 元数据更新时间：2026-10-22T21:38:13.188Z
中文译文更新时间：2026-11-06T16:51:35.506Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40amadeus-protocol/wallet-sdk
原文对照：https://npmcn.com/package/%40amadeus-protocol/wallet-sdk/?lang=original
项目主页：https://github.com/TypeError86/amadeus-wallet-sdk#readme
源码仓库：https://github.com/TypeError86/amadeus-wallet-sdk

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

- 包体积（解压后）：232 kB，80 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：4 个
- peer 依赖：react \>=18\.0\.0，@amadeus-protocol/sdk ^1\.3\.0
- 首次发布：2026-08-10T16:14:16.793Z
- 最新版本发布：2026-10-22T21:38:12.782Z
- 近 30 天下载量：2692（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

共享 dApp <-> Amadeus 协议的钱包连接层: BLS API-key sords, 交易签名, 消息/连接签名, 以及打字提供者合同. 钱包、扩展和每个DApp都经过审计.

## 安装

```sh
npm install @amadeus-protocol/wallet-sdk
```

也可以使用：`pnpm add @amadeus-protocol/wallet-sdk`、`yarn add @amadeus-protocol/wallet-sdk`、`bun add @amadeus-protocol/wallet-sdk`

## README

# @amadeus-protocol/wallet-sdk (英语)

Amadeus dApp 钱包连接层的审计之家。 钱包 (移动+扩展)和每个 dApp 导入 **不变** 密码和协议代码, 因此,双方永远不能漂移——这是整个问题.

建于顶上 [`@amadeus-protocol/sdk`](https://www.npmjs.com/package/@amadeus-protocol/sdk) (钥匙衍生,编码, `TransactionBuilder`) (中文(简体) ). 此软件包只添加 连接层.

> **状态:v0.1 — 密码+协议核心.** 运输(深连通/QR/桥梁) 反应钩子不在此发布中。 见下文"行走图".

## 释放的内容是什么

| 区域 | 出口 |
| --- | --- |
| **API 键令牌** | `generateApiKey`, (中文(简体) ), `verifyApiKey`, (中文(简体) ), `decodeApiKey` |
| **交易** | `signTransaction`, (中文(简体) ), `submitTransaction` |
| **连接认证** | `signConnect`, (中文(简体) ), `verifyConnect`, (中文(简体) ), `buildConnectTranscript` |
| **会话加密** | `generateSessionKeypair`, (中文(简体) ), `deriveSharedKey`, (中文(简体) ), `seal`, (中文(简体) ), `open` |
| **供应商合同** | `AmadeusProvider`, (中文(简体) ), `getAmadeusProvider`, (中文(简体) ), `isProviderAvailable`,事件/响应类型 |
| **电线验证** | zod计划: `signTransactionRequestSchema`, (中文(简体) ), `generateApiKeyRequestSchema`, (中文(简体) ), `connectTranscriptSchema`, (中文(简体) ), `addressSchema`, (中文(简体) ), `originSchema` |
| **二进制参数** | `encodeBinaryValues`, (中文(简体) ), `decodeBinaryValues`, (中文(简体) ), `describeBinaryValues` |
| **常数** | 所有DST,字节长度,事件名称, `PROTOCOL_VERSION` |

## 为什么先统一API键符

是手卷进来的 **3个** 位置(扩展后, `hub`,以及 `prime-hub`, (中文(简体) ), 全部必须保持字节与 `kbs.ama.one` 后端 . `generateApiKey` 此处重现了确切的标志—— `base58( json{aud,exp} ‖ pubkey48 ‖ sig96 )` 签名 `sha256(json ‖ pubkey)` 下划线 `_APIKEY_` DST - 和一项测试声称 与原配方的字节平等. 消费者现在可以删除他们的拷贝.

```ts
import { generateApiKey, verifyApiKey } from '@amadeus-protocol/wallet-sdk'

const { apiKey } = generateApiKey({ seed, aud: 'amadeus', expIn: 7 * 24 * 3600 })
// ... later, on any verifier:
const result = verifyApiKey(apiKey, { aud: 'amadeus' })
if (result.valid) console.log(result.address)
```

> **信使的地址是公用钥匙 `seed` 你通过.** 复苏 短语可以打开两个不同的地址(标准 `eip2333` 衍生物,以及 页:1 `legacy` 用旧扩展和app创建的钱包使用的原始 BIP39 种子 建筑),所以不要假设一个. 以 `resolveCandidateForAddress` (sdk ≥ 1.6.0),将候选人送回 `publicKey` 等于用户的 钱包地址,或 `null` 假若无一物把它打开 无效的短语). 否则,这个符号沉默地属于另一个账户.
> 
> ```ts
> import { resolveCandidateForAddress } from '@amadeus-protocol/sdk'
> import { generateApiKey } from '@amadeus-protocol/wallet-sdk'
> 
> const candidate = resolveCandidateForAddress(phrase, walletAddress)
> if (!candidate) throw new Error('This phrase does not open that address')
> const { apiKey } = generateApiKey({ seed: candidate.seed, aud: 'amadeus', expIn: 3600 })
> ```

## 安全说明

-   **不同的标准** (单位:千美元)`_TX_`, (中文(简体) ), `_APIKEY_`, (中文(简体) ), `_CONNECT_`由一人签字 上下文加密在另一个上无法使用.
-   **连接 Auth 签名全文** —来源+两个会话键+ 挑战 + 请求 id —— 不仅仅是关闭密钥替换的非ce 迈克尔.
-   **无任意信件签名预告**: 连接证明只显示 结构化,长度前缀的笔录.
-   **会话框** 使用 x25519 + XChaCha20-Poly1305 通过 `@noble` (无危险;无) `tweetnacl` "没有PRNG"问题),并且没有在任何篡改上关闭.

## 开发

```sh
bun install
bun run test        # vitest
bun run typecheck
bun run build       # tsdown -> dist/
```

## 路线图

1.  **运输** ——深度链接/通用链接入侵,QR对接,a 自我托管的加密桥, 都说一个信封.
2.  **`/react`** —— 说 `WalletProvider` + 键 `useWallet()` 所以DApps停止复制打印 提供者胶水(和 `amadeus#initialized` 对 `amadeus-wallet#initialized` 错误得到修复一次).
3.  **收 养** - 迁移扩展, `hub`,以及 `prime-hub` 他们的 手滚动加密到此软件包.

## 常见问题

### @amadeus-protocol/wallet-sdk 是什么？

共享 dApp \<-\> Amadeus 协议的钱包连接层: BLS API-key sords, 交易签名, 消息/连接签名, 以及打字提供者合同\. 钱包、扩展和每个DApp都经过审计\.

### 如何安装 @amadeus-protocol/wallet-sdk？

在项目目录运行 npm install @amadeus-protocol/wallet-sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@amadeus-protocol/sdk（^1\.3\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @amadeus-protocol/wallet-sdk 支持 TypeScript 吗？

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

### @amadeus-protocol/wallet-sdk 支持 ESM 还是 CommonJS？

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

### @amadeus-protocol/wallet-sdk 需要什么版本的 Node\.js？

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

### @amadeus-protocol/wallet-sdk 可以商用吗？

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

### @amadeus-protocol/wallet-sdk 的下载量有多少？

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

### @amadeus-protocol/wallet-sdk 还在维护吗？

最新版本 0\.1\.7 发布于 2026/10/23（15 天前）；至今共发布 6 个版本，其中过去 12 个月发布了 6 个；首次发布于 2026/08/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

