关于 stacking-lottery
stacking-lottery 是用于管理 stackspot.app 抽签质押池的命令行技能,涵盖池子发现与状态查询、投入 STX、启动质押周期及领取奖励。该技能仅支持主网,写入操作需要已解锁的钱包。
主要功能
- 01列出池子并查看链上状态
- 02向池子投入 STX
- 03启动满额池子的质押周期
- 04作为选中赢家领取 sBTC 奖励
- 05取消符合条件的池子并取回 STX
适用场景
- 01查看池子金额、配置和锁定状态
- 02在池子满员前加入
- 03抽中后领取奖励
- 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)。