stackspot について
Stacks メインネットで stackspot.app のスタッキングポットに参加する CLI スキルです。ポットの確認に加え、STX の拠出、開始、報酬請求、キャンセルを行えます。
主な機能
- 01ポットとロック状態の一覧
- 02ポットの全状態を照会
- 03ポットへ STX を拠出
- 04満員ポットのスタッキング開始
- 05sBTC 報酬の請求
- 06未開始ポットのキャンセル
活用シーン
- 01参加前にポットの価値と参加状況を確認
- 02参加可能なポットへ STX を拠出
- 03PoX の準備期間に満員ポットを開始
- 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を拠出してポットに参加します。ポットが最大参加者数に達すると、プラットフォームコントラクトがProof of Transfer(PoX)を通じて、1サイクルのスタッキングを開始します。ロック解除時に、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 スタッキングサイクル 1 回分(約 2 週間)ロックされます。短期的に利用する必要がある STX でポットに参加しないでください。
- **VRF による当選者選定:**ロック解除時に、参加者からランダムに 1 名が選ばれます。当選者はスタッキング報酬の全額を 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)。