# @anywalletkit/wallet-near 中文文档

规范地址：https://npmcn.com/package/%40anywalletkit/wallet-near/

版本：0\.4\.0
npm 元数据更新时间：2026-11-02T20:19:29.998Z
中文译文更新时间：2026-11-06T19:12:46.965Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40anywalletkit/wallet-near
原文对照：https://npmcn.com/package/%40anywalletkit/wallet-near/?lang=original
项目主页：https://docs.anywallet.tech/
源码仓库：https://github.com/ultratestbro/anywalletkit

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

- 包体积（解压后）：768 kB，17 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：4 个
- 首次发布：2026-10-24T18:43:11.292Z
- 最新版本发布：2026-11-02T20:19:29.651Z
- 近 30 天下载量：2440（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

任何钱包套件的NEAR钱包:SLIP-10 m/44'/397'/i'帐号(NEAR钱包路径),隐含并命名帐号,NEAR和NEP-141通过JSON-RPC的转账,手写borsh,NEP-413信件签名.

## 安装

```sh
npm install @anywalletkit/wallet-near
```

也可以使用：`pnpm add @anywalletkit/wallet-near`、`yarn add @anywalletkit/wallet-near`、`bun add @anywalletkit/wallet-near`

## README

# @anywalletkit/wallet-near (英语)

[![npm](https://img.shields.io/npm/v/@anywalletkit/wallet-near?label=npm)](https://www.npmjs.com/package/@anywalletkit/wallet-near)

NEAR 账户 `m/44'/397'/i'` (SLIP-10 Ed25519 – NEAR钱包 / `near-seed-phrase` 路径; 索引 0 是每个 NEAR 钱包获得的, 由金向量在 `@anywalletkit/conformance`。没有近Api-js: Borsh 是手写对近核心的 计划( 逐字节检查 `@near-js/transactions`),节点回答JSON-RPC, 账户标志 `sha256(borsh(tx))` 与高贵的ed25519广播 `send_tx`。 。 。 .

## 安装

```sh
npm install @anywalletkit/wallet-near
# or: pnpm add @anywalletkit/wallet-near  ·  yarn add @anywalletkit/wallet-near
```

时间: [@anywalletkit/wallet-near (英语)](https://www.npmjs.com/package/@anywalletkit/wallet-near)发表于 [发布工作流程](https://github.com/ultratestbro/anywalletkit/blob/main/RELEASING.md) 与出处.

```ts
import WalletManagerNear from '@anywalletkit/wallet-near'

const wallet = new WalletManagerNear(seedPhrase, { provider: ['https://free.rpc.fastnear.com', 'https://rpc.mainnet.near.org'] })
const account = await wallet.getAccount(0)          // implicit account: 64-hex id = the public key
await account.transfer({ recipient: 'alice.near', amount: 10n ** 24n })                              // 1 NEAR (yocto)
await account.transfer({ token: 'usdt.tether-token.near', recipient: 'alice.near', amount: 1_000_000n, memo: 'rent' }) // NEP-141
await account.sendTransaction({ receiverId: 'wrap.near', actions: [{ functionCall: { methodName: 'near_deposit', args: {}, gas: 30n * 10n ** 12n, deposit: 10n ** 24n } }] })
const sig = await account.sign('hello')             // "ed25519:<base58>" over the raw bytes; 32 bytes are refused (MessageIsTransactionError: a tx hash)
const nep413 = await account.signNep413({ message, nonce, recipient: 'intents.near' }) // what NEAR Intents / dApps ask for
const named = await wallet.getNamedAccount('alice.near') // same key, bound to a named account
wallet.dispose()
```

## 签名前会发生什么

每个 `signTransaction` 编号 : `sendTransaction` 编号 : `transfer` 穿过同一个大门:

1.  **构建**数字 : `signerId` 编号 : `publicKey` 账户; `nonce` = access-key 非ce+1和 `blockHash` = 最新的最后块来自节点(因此) `needsNetwork` ) (中文(简体).
2.  **硬检查** (单位:千美元)`UnsafeTransactionError`,带有 `code`: 符号和键是这个 账户; 至少一个动作; 无 _危险_ 动作- 添加密钥、 删除密钥、 删除帐号、, 部署合同、承接、创建账户、全球合同行动,签署 `allowDangerousActions: true`; 有效接收机代号; 预付气体 ; 300 Tgas; 收费 ; + `transactionMaxFee` 当设置.
3.  **飞行前** (单位:千美元)`SimulationError`关闭 `simulate: false`\- NEAR没有干燥的RPC,所以 这就是交易失败的原因 _在此之前_ 支付费用:签字人账户及其 访问密钥存在并允许调用, 可用用余额( 总计 - 锁定 - 存储) 覆盖 (a) 存款+手续费,指名收款人的存在(可设立隐含的,为 0.002 NEAR), nEP-141余额包括 `ft_transfer`,收件者在代号上或一个 `storage_deposit` 骑着它.
4.  **费用估计** (上行:预付的气体计数全额;未用气体退款;当地人 创建隐含账户的转移会增加协议的~0.007 NEAR创建费用 - 在主网上测量,不能取自气体) `transferMaxFee` 编号 : `transactionMaxFee` 盖.

`signBuilt(tx)` 签署您自己建立的交易(nonce, block hash and all)。 它运行 同一步骤2 硬检查——这个账户的标志和钥匙,除非 `allowDangerousActions: true`良好的动作 气体 300 Tgas —— 但做节点调用,所以 没有飞行前和费用上限.

在主网上测量(2026-10-10): `ft_transfer` 11.6 Tgas / 0.041 NEAR; 创建本地转移 接收方为 15.9 Tgas / 0.0071 NEAR.

`describeTransaction(tx)` 告诉你交易是做什么的,离线: `near-transfer`, (中文(简体) ), `ft-transfer` (接收/金额/从参数中解码的备忘录), `ft-storage-deposit`, (中文(简体) ), `function-call`, (中文(简体) ), `batch`或有警告的危险种类`dangerous-action`, (中文(简体) ), `full-access-key`, (中文(简体) ), `zero-amount`, (中文(简体) ), `self-transfer`, (中文(简体) ), `high-gas`, (中文(简体) ), `unknown-method`, (中文(简体) ), `invalid-account`) (中文(简体) ). `account.describeTransactionOnline(tx)` 添加 `implicit-new-account`。 。 。 .

## NEP-141 令牌

`transfer({ token, recipient, amount, memo })` 发送 `ft_transfer` 和30个Tgas. 当收件人没有在信使上注册时(`storage_balance_of` 无效) a `storage_deposit` 页:1 `storage_balance_bounds.min` (大多数信使为0.00125 NEAR) 在同一交易中. `getTokenBalance(token)` 实值 `ft_balance_of`。 。 。 .

## 账户

一个隐含的账户从它收到的第一个NEAR即存在;一个账户只持有代号,而且 没有NEAR不能签名(没有支付汽油)—— `simulateTransaction` 报告 名称账户 (单位:千美元)`alice.near`)将此密钥列为一个全程访问密钥作品,通过 `getNamedAccount`。 。 。 . `getBalance()` 总计; `getAvailableBalance()` 这是可以花费的.

## 网络

`provider` 是一个或多个 JSON- RPC urls(或自定义运输); 列表按顺序失效, 但返回的确定节点答案(未知账户,无效交易)除外 就像他们一样。 每个url请求时间 之后 `timeoutMs` (默认15,000),所以一个节点 回答总是失败的. `send_tx` 永远不要重新同意另一个RPC: 答案( 无响应, 节点超时) 它扔出 `BroadcastUnknownError` 与地方 计算 `hash` - 小心,别再签了. `rpc.mainnet.near.org` 为生产-使用而限制费率和贬值 FastNear / 一个提供者 / 您自己的代理 。 (原始内容存档于2018-03-26). CAIP-2: `near:mainnet` (违约)或 `near:testnet`。 。 。 .

## 活动历史

`createNearHistory` 是链子 `HistorySource` (单位:千美元)`@anywalletkit/core`) 在相近的街区上, API,可选地被一个档案RPC磨合.

```ts
import { createNearHistory } from '@anywalletkit/wallet-near/history'

const history = createNearHistory({ apiKey: process.env.NEARBLOCKS_KEY, rpcUrl: 'https://archival-rpc.mainnet.near.org' })
const page = await history.listActivity('fc647e203e0e099212485017b78a0e77dc330019d4b532a4d44408adc0bfd9a1', { limit: 25 })
const older = await history.listActivity(address, { cursor: page.cursor })
const one = await history.getTransaction(page.items[0].hash, address)
history.explorerTxUrl(one.hash) // https://nearblocks.io/txns/…
```

| 选项 | 默认 | 说明 |
| --- | --- | --- |
| `nearblocksUrl` | `https://api.nearblocks.io` (单位:千美元)`api-testnet.nearblocks.io`(中文(简体) ) |  |
| `apiKey` | 无 | 持枪钥匙。 无键近屏蔽限为每分钟几次请求. |
| `rpcUrl` | 无 | `EXPERIMENTAL_tx_status` 页:1 `getTransaction`必须是 **档案** 任何超过几天的时间: `rpc.mainnet.near.org` 已回复 `UNKNOWN_TRANSACTION` 一个两星期的大麻, `archival-rpc.mainnet.near.org` 服务它. |
| `network` | `mainnet` | `near:mainnet` 编号 : `near:testnet`。 。 。 . |
| `rateLimit` | 0.1 rps (6/min) 无密钥, 5 有密钥 | 近屏蔽请求每秒;一个页面需要两个. |
| `fetch`, (中文(简体) ), `timeoutMs` | 全球,15 000 |  |

**名单.** `GET /v1/account/{id}/txns?per_page=&order=desc&cursor=` (收到级别行,要求两倍的限额,因为交易通常有电话和退款收据)和 `GET /v1/account/{id}/ft-txns?per_page=&order=desc&cursor=` (NEP-141动向),按 `transaction_hash`. 近街块写出大型的 YoctoNEAR 值作为 JSON 数字; 尸体通过 `parseJsonPreservingBigInts`,它重新引用了 16+ 数字整数字元之前 `JSON.parse` 因此,它们保持精确,而近街区的值已经四舍五入到一分之一(`7e+23`)作为正则并标出行 `raw.approximate`。 。 。 . `delta_amount` nEP-141行是一个字符串,而且总是精确的.

**测绘.** 其前身是 `system` (气体退款)不转帐. `TRANSFER` 行动 `FUNCTION_CALL` 存款(NEP-141 one-yoctoNEAR形式除外)成为原地转让的前身 —— 收款人;向他人收取的收据的第一个非转让行动成为 `call` (单位:千美元)`to` = 接收器, `method`, (中文(简体) ), `programs` = 每种方法按顺序排列)。 NEP-141行变为 `nep141` 与合同的转让 `token`, (中文(简体) ), `symbol` 编号 : `decimals` 从 `ft` (单位:千美元) `ft_transfer_call` 输入 `intents.near` 属于自己 `intents.near`,怎样 `@anywalletkit/protocol-swap2-near-intents` 寻找). `status` 从 `outcomes.status`, (中文(简体) ), `fee` 从 `outcomes_agg.transaction_fee`, (中文(简体) ), `block` = 最低 `block_height` 工作组, `time` 从交易的 `block_timestamp`。 。 。 .

**咒语.** 基础64 JSON `{ v: 1, tx, ft }`页:1 `id` 编号 : `event_index` 每个列表的最后一行`''` =没有开始, `null` =累)——相邻街区 `cursor=` 是一个密钥集, 因此页面可以取顶端 `limit` 按区块时间加链接进行交易,并准确恢复每一份清单的停止位置;不再询问一份短而完全消耗的清单。 一份交易的收据 `block_timestamp`,因此交易从不分页(NEP-141行载有其收据的块状时间,并可能在一页后作为自己的一行登陆).

**单笔交易.** `GET /v1/txns/{hash}` (交易级动作,签名人/接收人, `receipts[].fts` 与 **双** 三角洲 • `raw.approximate`) (中文(简体) ). 与 `rpcUrl`, (中文(简体) ), `EXPERIMENTAL_tx_status(hash, signer)` 完全重建行: 本地腿从 `Transfer` 编号 : `FunctionCall` (删除未包装的动作,所以 `call.to` 实际接收者),NEP-141腿从接收记录(`EVENT_JSON` 编号141 `ft_transfer` 编号 : `ft_mint` 编号 : `ft_burn` 遗产 `Transfer N from A to B` 线条 `wrap.near` 发射, `fee` =================== (========= (============ (================== `tokens_burnt`, (中文(简体) ), `status` 从 `Failure`· ; `raw.rpc` 保持结果。 不了解散列的RPC或正在下方的RPC会把近地块排成一行.

装入 `test/fixtures/history/` 2026年10月14日从 `api.nearblocks.io` (无键)和 `archival-rpc.mainnet.near.org`: 测试钱包 `/txns` (一 NEAR 随其退款收据发出,a `storage_deposit` + 键 `ft_transfer` 电话,收件人从 `intents.near`)及其为空 `/ft-txns`,加上——因为测试钱包没有NEP-141行—— `/txns`, (中文(简体) ), `/ft-txns`, (中文(简体) ), `/v1/txns/{hash}` 和RPC项目 `EXPERIMENTAL_tx_status` nEAR Intents 模块的固定交易 `Fdk3i7f9…` (20.5 wNEAR) (中文(简体) ) `ft_transfer_call` 输入 `intents.near` 以 `b1633df6…`) (中文(简体) ). `test/history.test.ts` 检查近意模块将列表行和 RPC 修改后行描述为 `Bridged wNEAR`。 。 。 .

## 常见问题

### @anywalletkit/wallet-near 是什么？

任何钱包套件的NEAR钱包:SLIP-10 m/44'/397'/i'帐号\(NEAR钱包路径\),隐含并命名帐号,NEAR和NEP-141通过JSON-RPC的转账,手写borsh,NEP-413信件签名\.

### 如何安装 @anywalletkit/wallet-near？

在项目目录运行 npm install @anywalletkit/wallet-near，或使用 pnpm add / yarn add / bun add。

### @anywalletkit/wallet-near 支持 TypeScript 吗？

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

### @anywalletkit/wallet-near 支持 ESM 还是 CommonJS？

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

### @anywalletkit/wallet-near 需要什么版本的 Node\.js？

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

### @anywalletkit/wallet-near 可以商用吗？

@anywalletkit/wallet-near 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @anywalletkit/wallet-near 的下载量有多少？

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

### @anywalletkit/wallet-near 还在维护吗？

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

