mcpField
S
stackspot

stackspot

github.com/aibtcdevその他11135 回インストール1 日前に更新
リポジトリ

stackspot について

Stacks メインネットで stackspot.app のスタッキングポットに参加する CLI スキルです。ポットの確認に加え、STX の拠出、開始、報酬請求、キャンセルを行えます。

主な機能

  1. 01ポットとロック状態の一覧
  2. 02ポットの全状態を照会
  3. 03ポットへ STX を拠出
  4. 04満員ポットのスタッキング開始
  5. 05sBTC 報酬の請求
  6. 06未開始ポットのキャンセル

活用シーン

  1. 01参加前にポットの価値と参加状況を確認
  2. 02参加可能なポットへ STX を拠出
  3. 03PoX の準備期間に満員ポットを開始
  4. 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)。

コメント