关于 stackspot
用于在 Stacks 主网上参与 stackspot.app 堆叠奖池的 CLI 技能,支持发现奖池、查询状态及执行贡献、启动、领奖和取消操作。
主要功能
- 01列出奖池及锁定状态
- 02查询完整奖池状态
- 03向奖池贡献 STX
- 04启动已满奖池的堆叠周期
- 05领取 sBTC 奖励
- 06取消尚未启动的奖池
适用场景
- 01加入前查看奖池金额和参与情况
- 02向可加入的奖池贡献 STX
- 03在 PoX 准备阶段启动满额奖池
- 04完成或取消后领取奖励或取回 STX
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill stackspot安装后在 Claude Code 中输入/stackspot确认已加载。
附带文件AGENT.mdstackspot.ts
详细介绍
Stackspot 技能
提供在 stackspot.app 上进行堆叠彩票奖池操作的功能:
- 奖池发现 — 列出所有已知奖池合约及其当前价值和锁定状态。
- 奖池状态 — 查询奖池的完整链上状态:价值、参与人数、锁定状态、配置、奖池配置和详细信息。
- 加入奖池 — 在奖池满员并开始堆叠前,向奖池贡献 STX。
- 启动奖池 — 通过平台合约触发满员奖池开始堆叠。
- 领取奖励 — 如果你的地址被选为 VRF 获胜者,则领取 sBTC 奖励。
- 取消奖池 — 在奖池开始前取消,并取回已贡献的 STX。
**工作原理:**参与者通过贡献 STX 加入奖池。当奖池达到最大参与人数时,平台合约会通过转账证明(PoX)触发一个完整周期的堆叠。解锁时,VRF 选出的获胜者将获得以 sBTC 形式发放的堆叠收益。所有参与者(包括获胜者)都会取回原先贡献的 STX。
所有 stackspot 操作仅限主网。写入操作(join-pot、start-pot、claim-rewards、cancel-pot)需要解锁钱包(请先运行 bun run wallet/wallet.ts unlock)。
用法
bun run stackspot/stackspot.ts <subcommand> [options]
子命令
list-pots
列出所有已知 stackspot 奖池合约及其当前链上价值和锁定状态。
bun run stackspot/stackspot.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 stackspot/stackspot.ts get-pot-state --contract-name <name>
选项:
--contract-name(必需)— 奖池合约名称或完整标识符(例如,SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG或STXLFG)
输出:
{
"network": "mainnet",
"contractName": "STXLFG",
"contractId": "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG",
"state": {
"potValueUstx": "2100000000",
"isLocked": false,
"configs": { "value": "..." },
"poolConfig": { "value": "..." },
"details": { "value": "..." }
}
}
join-pot
向奖池贡献 STX。金额必须至少达到奖池的最低要求。STX 会锁定在合约中,直到奖池完成堆叠周期且所有参与者都可以提款为止。需要解锁钱包。
bun run stackspot/stackspot.ts join-pot --contract-name <name> --amount <microStx>
选项:
--contract-name(必需)— 奖池合约名称(例如,STXLFG)--amount(必需)— 贡献金额,单位为 micro-STX(1 STX = 1,000,000 micro-STX)
输出:
{
"success": true,
"txid": "abc123...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet",
"pot": {
"contractName": "STXLFG",
"amountUstx": "21000000"
}
}
start-pot
触发满员奖池开始堆叠。调用平台合约,为奖池启动 PoX 堆叠周期。奖池必须已达到最大参与人数。需要解锁钱包。
bun run stackspot/stackspot.ts start-pot --contract-name <name>
选项:
--contract-name(必需)— 要启动堆叠的奖池合约名称
输出:
{
"success": true,
"txid": "abc123...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet",
"pot": {
"contractName": "STXLFG"
}
}
claim-rewards
如果当前钱包被选为已完成奖池的 VRF 获胜者,则领取 sBTC 奖励。奖池必须已完成堆叠周期。未获胜者不会获得 sBTC,但也会通过相同机制取回 STX。需要解锁钱包。
bun run stackspot/stackspot.ts claim-rewards --contract-name <name>
选项:
--contract-name(必需)— 要从中领取奖励的奖池合约名称
输出:
{
"success": true,
"txid": "abc123...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet",
"pot": {
"contractName": "STXLFG"
}
}
cancel-pot
在奖池开始堆叠前取消奖池。参与者可以取回已贡献的 STX。奖池必须尚未锁定(堆叠尚未开始)。需要解锁钱包。
bun run stackspot/stackspot.ts cancel-pot --contract-name <name>
选项:
--contract-name(必需)— 要取消的奖池合约名称
输出:
{
"success": true,
"txid": "abc123...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet",
"pot": {
"contractName": "Genesis"
}
}
注意事项
- 所有 stackspot 操作仅限主网。在测试网上调用会返回错误。
- 写入操作需要解锁的钱包(请先运行
bun run wallet/wallet.ts unlock)。 - **STX 锁定期:**加入奖池后,你的 STX 会锁定一个完整的 PoX 质押周期(约 2 周)。请勿将短期内需要使用的 STX 存入奖池。
- **VRF 获胜者选择:**解锁时会随机选出一名参与者。获胜者将获得全部以 sBTC 计价的质押收益。所有参与者(包括获胜者)都会收回原先存入的 STX。
- **时间窗口:**奖池只能在 PoX 周期的准备阶段启动。如果 start-pot 失败,请使用
bun run stacking/stacking.ts get-pox-info检查当前 PoX 周期阶段。 - **合约架构:**各个奖池合约由
SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85部署。平台合约SP7FSE31MWSJJFTQBEQ1TT6TF3G4J6GDKE81SWD9.stackspots负责协调奖池启动和奖励分发。 - **已知奖池:**Genesis(最多 2 名参与者,最低 20 STX)、BuildOnBitcoin(最多 10 名,最低 100 STX)、STXLFG(最多 100 名,最低 21 STX)。