# @anywalletkit/protocol-staking-spl-stake-pool-solana 中文文档

规范地址：https://npmcn.com/package/%40anywalletkit/protocol-staking-spl-stake-pool-solana/

版本：0\.2\.12
npm 元数据更新时间：2026-11-02T20:13:42.294Z
中文译文更新时间：2026-11-06T22:41:49.926Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：123 kB，12 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：2 个
- peer 依赖：@anywalletkit/core 0\.8\.0
- 首次发布：2026-10-24T18:41:33.757Z
- 最新版本发布：2026-11-02T20:13:41.953Z
- 近 30 天下载量：2235（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

一个简单的包,让@anywalletkit/wallet-solana 钱包账户通过 SPL 赌注池(默认情况下是Jito) 赌注SOL – JitosOL, 立即退出储备或通过一个赌注账户, 索赔, 读取利率, APY 和收益.

## 安装

```sh
npm install @anywalletkit/protocol-staking-spl-stake-pool-solana
```

也可以使用：`pnpm add @anywalletkit/protocol-staking-spl-stake-pool-solana`、`yarn add @anywalletkit/protocol-staking-spl-stake-pool-solana`、`bun add @anywalletkit/protocol-staking-spl-stake-pool-solana`

## README

# @anywalletkit/protocol-scaping-spl-stake-pool-solana (英语)

[![npm](https://img.shields.io/npm/v/@anywalletkit/protocol-staking-spl-stake-pool-solana?label=npm)](https://www.npmjs.com/package/@anywalletkit/protocol-staking-spl-stake-pool-solana)

一个简单的软件包 `@anywalletkit/wallet-solana` 钱包账户赌注 通过游泳池 [SPL 游泳池](https://github.com/solana-program/stake-pool) 程序 - [池户](https://www.jito.network/) 默认情况: 赌注SOL ~ 吉多索尔, 立即退出储备或通过利害关系账户,索赔,改为 费率,APY和收入.

## 安装

```sh
npm install @anywalletkit/protocol-staking-spl-stake-pool-solana @anywalletkit/core
# or: pnpm add @anywalletkit/protocol-staking-spl-stake-pool-solana @anywalletkit/core  ·  yarn add @anywalletkit/protocol-staking-spl-stake-pool-solana @anywalletkit/core
```

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

建为 **第四次审查会议 `StakingProtocol` 类型** 内 `@anywalletkit/core` - 在Lido(ETH液体吸取)后,SSV(用电筒吸取) 冷却器(GRAM liquid sawing)和通取器(GRAM sawing)——以及EVM的第二个. 基础类在 `src/staking-protocol.js` 是同一文件, 字节相同: 类型是 链-不可知,和索拉纳的"双相"出局(即时对入局账户+) (c) 符合其要求的“队列”索赔合同.

机械师是从一个生产钱包(React Industrial/Hermes)中取出. 核查状况(2026-09-07,主网): **赌注和立即退出 实际资金** 从钱包( 4个交易, 金额匹配模块的) 引用到灯塔) **延迟退出** (记账+停用)是 经核查 `simulateTransaction` 作为大持有人 **索赔** 只有通过 索赔周期需要具备以下条件: 1SOL值,目前仍在运行. `scripts/verify-live.mjs` 重新检查 账户能承受的每个形状, 密钥从未涉及.

## SPL的赌注池和JitoSOL是什么

SPL 的股份池持有许多验证人的股份账户并有一个准备金。 这个 **池名符号** (JitoSOL 用于 Jito; bSOL 和大多数验证器 LST 使用相同的 程序)是指其SOL值为 `total_lamports / pool_token_supply`,每个时代移动一次(~2天) 游泳池的曲柄应用了时代的奖励. Jito 在顶部添加 MEV 提示 通货膨胀奖励.

-   **铃声** 是一个 `DepositSol` 指令: SOL 到保留地, 符号 价格(Jito:不收取押金).
-   **即时退出** —— 说 `WithdrawSol`: 烧令牌, SOL 由储备支付 一次,减去游泳池的SOL取出费(吉托:0.1%). 只是当 储备足够(一般为~1000 SOL).
-   **延迟退出** —— 说 `WithdrawStake`: 刻入符号, 池会分割一个验证符 钱包拥有的一个新入息账户的入息账户(吉托:0.1%) ));此模块在同一交易中关闭它。 划时代之后 边界 **索赔** 扫描SOL(和 账户的租金) 回到钱包。 利害关系方案的最低授权 (1 SOL + 租金)是这条路的地板.

钱包的赌注账户有种子 (单位:千美元)`createWithSeed(wallet, "<pool>-unstake:<i>", StakeProgram)`,8个插槽),所以 队列可以从钱包中单独恢复, 从未出现过麻风键盘 标志。 预设地址( SOL 发送给可预见种子) 地址,地点 `CreateAccountWithSeed` )仍然使用: 退出 首先用系统将 SOL 移动回钱包 `TransferWithSeed`,则 在那里创建赌注账户.

## 使用量

```js
import WalletManagerSolana from '@anywalletkit/wallet-solana'
import SplStakePoolProtocolSolana from '@anywalletkit/protocol-staking-spl-stake-pool-solana'

const wallet = new WalletManagerSolana(seed, { provider: 'https://api.mainnet-beta.solana.com' })
const account = await wallet.getAccount(0)

const jito = new SplStakePoolProtocolSolana(account) // pool: 'jito' by default; reads ride the account's RPC

// Stake 1 SOL — JitoSOL lands at the pool rate (DepositSolWithSlippage, 0.5 % floor)
const { hash, fee } = await jito.stake({ amount: 10n ** 9n })
await jito.awaitConfirmation(hash)

// Exit: delayed (default — stake account, claim after the epoch boundary) or instant (reserve)
await jito.requestWithdrawal({ amount: 10n ** 9n })                    // ≥ 1 SOL worth
await jito.requestWithdrawal({ amount: 5n * 10n ** 7n, mode: 'instant' })

// The queue, then the claim
const { requests, claimableIds } = await jito.getWithdrawalRequests()
if (claimableIds.length) await jito.claimWithdrawals({ ids: claimableIds })

// Views
await jito.getStakedBalance()   // { balance: JitoSOL, rate: lamports per JitoSOL (1e9), total: lamports }
await jito.getPoolData()        // rate, previousRate, updated, instantLiquidity, fees, minimumStakeLamports…
await jito.getApr()             // percent — on-chain estimate, or your provider's figure via the `apr` hook
await jito.getRewards()         // { earned, entryRate, deposited, minted, firstStakeAt } from the account's own deposits
```

### 配置

```js
new SplStakePoolProtocolSolana(account, {
  pool: 'jito',                        // or { name, pool, mint, symbol } for any pool on the program
  provider: [url1, url2],              // JSON-RPC URL(s), a @solana/rpc client, or { request(method, params) }
  commitment: 'confirmed',
  slippageBps: 50,                     // floor on quoted amounts (..WithSlippage instructions)
  computeUnitLimit: 300_000,
  computeUnitPrice: 50_000n,           // micro-lamports per unit — ≈ 0.000015 SOL priority fee
  unstakeSlots: 8,                     // delayed exits tracked per wallet
  apr: async () => fetchJitoApy()      // provider APY hook (Jito's stats include MEV); default: epoch-over-epoch estimate
})
```

只读账户( E)`{ getAddress }`)对于每个视图都足够;写作需要 账户 `sendTransaction`。模块将账户交给一个空的 `{ version: 0, instructions }` 发文 `@anywalletkit/wallet-solana` 套装 (一) blackash的一生和付费人签名、签名和广播 键从不输入模块.

## 规则失效

在建立任何交易前检查过 :

-   配置的薄荷必须等于链上池的薄荷; 池账户 须由SPL Stake 池程序拥有;
-   池必须更新当前时代(`last_update_epoch == epoch`——本方案拒绝每笔存款和退款;
-   延迟退出必须至少产生效果 `rent + minimum delegation` 离开 从验证器账户中拆分的账户的最小值相同(对照 现场平衡,不仅仅是最后更新的列表, 否则赌注程序 `Split` 失败;
-   立即退出必须符合储备减其租金的规定;
-   每一笔钱都花出去了 `..WithSlippage` 楼层(默认为0.5%);
-   限制向当局存入或提取特别业务费的集合被拒绝 为了那条路,而不是去失败.

## 为什么指令是手编码的

`@anywalletkit/wallet-solana` 以 `@solana/*` 3.十. 出版情况 利害关系池客户端想要 web3.js v1 和 `@solana-program/stake` 想要5号包; 要么把第二个索拉纳堆放进消费者的包里 六个 指令 此模块需要稳定、 有文件记录的布局( Stake Pool) `DepositSol` 14个 `WithdrawStake` 10个 `WithdrawSol` 页:1 `..WithSlippage` 变式25/24/26,系统 `CreateAccountWithSeed` 3个, 铃声 `Deactivate` 第5条 `Withdraw` 4),对照程序来源核实 和模拟—— `src/spl-stake-pool-codec.js` 将其编码为 `@solana/addresses` 财务报告和审定财务报表 `@solana/instructions` 只有这个.

## 测试

```
npm test               # unit tests over mainnet fixtures (pool state, validator list, stake account)
npm run verify:live    # reads + simulateTransaction of every shape on mainnet, no keys
```

## 许可证

阿帕奇 - 2.0

## 活动

`describeActivity(tx, { own })` 标签 SPL STake Pool 交易,用于钱包的历史、离线和同步。 一个交易就是这个模块 当Stake Pool程序 `SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy` 它所引用的方案之一`call.programs` 编号 : `call.to`) (中文(简体) ). 指针标签——指针池指令基础的第一个字节58 `call.data` 当源头经过它时——选择那种: `DepositSol` 14个 `DepositSolWithSlippage` 25 → `stake` "Soked SOL"; (中文(简体) ); `WithdrawSol` 16/26 ∗∗ `unstake` (原始内容存档于2018-10-21) (中文(简体) ). Unstead JitoSOL (即时); `WithdrawStake` 10/24 ∗∗∗ `unstake` "请求不取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取 没有数据,游泳池运动就决定(放在钱包上 ) 桩子上,被烧掉 —— 无人取走,SOL马上到 —— 。 每一个预设的池形符号( E)`SPL_STAKE_POOL_ADDRESS_MAP`)和案例的池被贴上标签并取出字幕名称(`"Jito · Solana"`); 同一程序的未知池仍然被确认为 `"SPL Stake Pool · Solana"`。 。 。 . `counterparty` 是池账户。 清理一个已完成的延迟未取取取( 取取取程序) `withdraw` ——它不包含股份池指令. `own` 应当包含钱包 **财务报告和审定财务报表** 其代号账户:来源使SPL向所有者移动正常化,但当ATA进入时,将代号账户地址保持为正确网的源头 `own`。 。 。 .

装入 `fixtures/activity/` 是测试钱包资助的 Jito 运行(DepositSol ×2, 撤回Sol ×3; 2026-09-07...-1007, 从 `getTransaction` jsonParsed) (中文(简体) ); `negatives/` 持有平面SOL转接和平面JitoSOL SPL转接(仅形状).

## 常见问题

### @anywalletkit/protocol-staking-spl-stake-pool-solana 是什么？

一个简单的包,让@anywalletkit/wallet-solana 钱包账户通过 SPL 赌注池\(默认情况下是Jito\) 赌注SOL – JitosOL, 立即退出储备或通过一个赌注账户, 索赔, 读取利率, APY 和收益\.

### 如何安装 @anywalletkit/protocol-staking-spl-stake-pool-solana？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 支持 TypeScript 吗？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 支持 ESM 还是 CommonJS？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 需要什么版本的 Node\.js？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 可以商用吗？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 的下载量有多少？

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

### @anywalletkit/protocol-staking-spl-stake-pool-solana 还在维护吗？

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

