mcpField
S
stacking-lottery

stacking-lottery

github.com/aibtcdev其他11159 次安装1 天前更新
代码仓库

关于 stacking-lottery

stacking-lottery 是用于管理 stackspot.app 抽签质押池的命令行技能,涵盖池子发现与状态查询、投入 STX、启动质押周期及领取奖励。该技能仅支持主网,写入操作需要已解锁的钱包。

主要功能

  1. 01列出池子并查看链上状态
  2. 02向池子投入 STX
  3. 03启动满额池子的质押周期
  4. 04作为选中赢家领取 sBTC 奖励
  5. 05取消符合条件的池子并取回 STX

适用场景

  1. 01查看池子金额、配置和锁定状态
  2. 02在池子满员前加入
  3. 03抽中后领取奖励
  4. 04质押开始前取消并取回投入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aibtcdev/skills --skill stacking-lottery

安装后在 Claude Code 中输入/stacking-lottery确认已加载。

附带文件AGENT.mdstacking-lottery.ts

详细介绍

Stacking Lottery 技能

在 stackspot.app 上提供 Stacking Lottery 奖池操作:

  • 奖池发现 — 列出所有已知奖池合约及其当前金额和锁定状态。
  • 奖池状态 — 查询奖池的完整链上状态:金额、参与者数量、锁定状态、配置、池配置和详情。
  • 加入奖池 — 在奖池满员并开始 stacking 前向奖池贡献 STX。
  • 启动奖池 — 通过平台合约触发已满员的奖池开始 stacking。
  • 领取奖励 — 如果你的地址被选为 VRF 获胜者,则领取 sBTC 奖励。
  • 取消奖池 — 在奖池开始前取消,并取回已贡献的 STX。

**工作原理:**参与者通过贡献 STX 加入奖池。当奖池达到最大参与者人数时,平台合约会通过转移证明(PoX)触发一个完整周期的 stacking。解锁时,VRF 选出的获胜者会获得以 sBTC 发放的 stacking 收益。所有参与者(包括获胜者)都会取回原先投入的 STX。

所有 stacking lottery 操作仅限主网。写入操作(join-pot、start-pot、claim-rewards、cancel-pot)需要已解锁的钱包(请先运行 bun run wallet/wallet.ts unlock)。

用法

bun run stacking-lottery/stacking-lottery.ts <subcommand> [options]

子命令

list-pots

列出所有已知的 stacking lottery 奖池合约及其当前链上金额和锁定状态。

bun run stacking-lottery/stacking-lottery.ts list-pots

输出:

{
  "network": "mainnet",
  "potCount": 3,
  "pots": [
    {
      "name": "Genesis",
      "contract": "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.Genesis",
      "maxParticipants": 2,
      "minAmountStx": 20,
      "currentValueUstx": "40000000",
      "isLocked": false
    }
  ]
}
get-pot-state

获取指定奖池的完整链上状态。查询所有只读函数:金额、参与者数量、锁定状态、配置、池配置和详情。

bun run stacking-lottery/stacking-lottery.ts get-pot-state --contract-name <name>

选项:

  • --contract-name(必需)— 奖池合约名称或完整标识符(例如,SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG 或 STXLFG)
join-pot

向奖池贡献 STX。金额必须至少达到奖池的最低要求。STX 会锁定在合约中,直到奖池完成其 stacking 周期,所有参与者都可以提取。需要已解锁的钱包。

bun run stacking-lottery/stacking-lottery.ts join-pot --contract-name <name> --amount <microStx>

选项:

  • --contract-name(必需)— 奖池合约名称(例如,STXLFG)
  • --amount(必需)— 贡献金额,单位为 micro-STX(1 STX = 1,000,000 micro-STX)
start-pot

触发已满员的奖池开始 stacking。调用平台合约,为奖池启动 PoX stacking 周期。奖池必须已达到最大参与者人数。需要已解锁的钱包。

bun run stacking-lottery/stacking-lottery.ts start-pot --contract-name <name>

选项:

  • --contract-name(必需)— 要开始 stacking 的奖池合约名称
claim-rewards

如果当前钱包被选为已完成奖池的 VRF 获胜者,则领取 sBTC 奖励。未获胜者不会收到 sBTC,但也会通过相同机制取回 STX。需要已解锁的钱包。

bun run stacking-lottery/stacking-lottery.ts claim-rewards --contract-name <name>

选项:

  • --contract-name(必需)— 要从中领取奖励的奖池合约名称
cancel-pot

在奖池开始 stacking 前将其取消。参与者可以取回已贡献的 STX。奖池必须尚未锁定(stacking 必须尚未开始)。需要已解锁的钱包。

bun run stacking-lottery/stacking-lottery.ts cancel-pot --contract-name <name>

选项:

  • --contract-name(必需)— 要取消的奖池合约名称

说明

  • 所有堆叠抽奖操作都仅限主网。在测试网上调用会返回错误。
  • 写入操作需要已解锁的钱包(请先运行 bun run wallet/wallet.ts unlock)。
  • **STX 锁定期:**加入奖池后,您的 STX 会锁定一个完整的 PoX 堆叠周期(约 2 周)。请勿使用短期内需要动用的 STX 加入奖池。
  • **VRF 中奖者选择:**解锁时随机选出一名参与者。中奖者获得全部堆叠收益,收益以 sBTC 形式发放。所有参与者(包括中奖者)都会收回原本投入的 STX。
  • **时间窗口:**只能在 PoX 周期的准备阶段启动奖池。如果启动奖池失败,请使用 bun run stacking/stacking.ts get-pox-info 查看当前 PoX 周期阶段。
  • **合约架构:**各个奖池合约由 SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85 部署。平台合约 SP7FSE31MWSJJFTQBEQ1TT6TF3G4J6GDKE81SWD9.stackspots 负责协调奖池启动和奖励分发。
  • **已知奖池:**Genesis(最多 2 名参与者,最低 20 STX)、BuildOnBitcoin(最多 10 名参与者,最低 100 STX)、STXLFG(最多 100 名参与者,最低 21 STX)。

评论

支持 Markdown