mcpField
S
stacking

stacking

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

stacking について

PoX-5 での STX ステーキングを管理するコマンドラインスキルです。ネットワークやステーキングの読み取り専用照会に加え、ウォレットを使ったステーキング、更新、解除、sBTC 報酬の請求に対応します。

主な機能

  1. 01PoX-5 とステーキング状態の照会
  2. 02署名マネージャーの一覧表示
  3. 03STX のステーク、延長、解除
  4. 04sBTC 報酬の確認と請求
  5. 05署名前のネットワーク状態確認

活用シーン

  1. 01ウォレットの STX ステーク状況の確認
  2. 02報酬サイクルごとの署名マネージャー比較
  3. 03ステークや報酬受取設定の変更
  4. 04サイクル報酬の見積もりと請求

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/stackingを入力して読み込まれたか確認します。

同梱ファイルAGENT.mdstacking.ts

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

スタッキングスキル

pox-5(Epoch 4.0)がメインネットで有効です。 pox-5ではstack-stx、stack-extend、stack-increase、delegate-stx、revoke-delegate-stxが廃止され、代わりにサイナーマネージャーによるステーキング(stake、stake-update、unstake)が導入されました。このスキルは、まだこの方式に対応していません。有効なPoXコントラクトがpox-4ではないネットワークでは、stack-stxとextend-stackingは署名を行う前にPoxVersionUnsupportedErrorで失敗します。get-pox-infoはactivePoxContractを報告し、get-stacking-statusはpox-5のget-staker-infoを読み取ります(activePoxContract、signer、warningを追加します。lockPeriodはpox-5のnum-cyclesです)。

StacksブロックチェーンでProof of Transfer(PoX)スタッキング操作を行います。スタッキングでは、指定した数の報酬サイクルの間STXトークンをロックし、Bitcoin報酬を獲得します。

  • get-pox-infoとget-stacking-status — 読み取り専用で、ウォレットは不要です。
  • stack-stxとextend-stacking — 書き込み操作で、ロック解除済みのウォレットが必要です。

使用方法

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

サブコマンド

get-pox-info

現在のProof of Transfer(PoX)サイクル情報を取得します。現在および次のサイクルの詳細、スタッキング最小額、サイクルの長さが含まれます。

bun run stacking/stacking.ts get-pox-info

出力:

{
  "network": "testnet",
  "currentCycle": {
    "id": 88,
    "min_threshold_ustx": 50000000000,
    "stacked_ustx": 1200000000000,
    "is_pox_active": true
  },
  "nextCycle": {
    "id": 89,
    "min_threshold_ustx": 50000000000,
    "min_increment_ustx": 5000000000,
    "stacked_ustx": 0,
    "prepare_phase_start_block_height": 3450,
    "blocks_until_prepare_phase": 25,
    "reward_phase_start_block_height": 3500,
    "blocks_until_reward_phase": 75,
    "ustx_until_pox_rejection": 0
  },
  "minAmountUstx": 50000000000,
  "rewardCycleLength": 2100,
  "prepareCycleLength": 100,
  "currentBurnchainBlockHeight": 3425,
  "totalLiquidSupplyUstx": 1400000000000000
}
get-stacking-status

アドレスが現在STXをスタッキングしているかどうかを確認します。

bun run stacking/stacking.ts get-stacking-status [--address <addr>]

オプション:

  • --address(省略可)— 確認するStacksアドレス(省略した場合はアクティブなウォレットを使用します)

出力:

{
  "address": "SP2...",
  "network": "testnet",
  "stacked": true,
  "amountMicroStx": "100000000000",
  "amountStx": "100000",
  "firstRewardCycle": 85,
  "lockPeriod": 3,
  "unlockHeight": 6300
}
stack-stx

Proof of Transferを通じてBitcoin報酬を獲得するため、STXトークンをロックします。十分なSTXを保有するロック解除済みのウォレットが必要です。

Bitcoin報酬アドレスは、バージョンバイトとハッシュで指定する必要があります。P2PKH(従来のBitcoinアドレス)ではバージョンは0です。P2SHでは1、P2WPKH(ネイティブSegWit)では4です。

bun run stacking/stacking.ts stack-stx \
  --amount <microStx> \
  --pox-address-version <version> \
  --pox-address-hashbytes <hex> \
  --start-burn-height <btcBlockHeight> \
  --lock-period <cycles>

オプション:

  • --amount(必須)— スタッキングするSTXの量(micro-STX単位。1 STX = 1,000,000 micro-STX)。スタッキングの最小額を満たす必要があります。
  • --pox-address-version(必須)— Bitcoinアドレスのバージョンバイト:0(P2PKH)、1(P2SH)、4(P2WPKH)、5(P2WSH)、6(P2TR)
  • --pox-address-hashbytes(必須)— Bitcoinアドレスのハッシュバイトを表す16進文字列(P2PKH/P2SH/P2WPKHでは20バイト、P2WSH/P2TRでは32バイト)
  • --start-burn-height(必須)— スタッキングを開始するBitcoinブロック高(準備フェーズ内、または報酬フェーズの最初のブロックである必要があります)
  • --lock-period(必須)— STXをロックする報酬サイクル数(1~12)

出力:

{
  "success": true,
  "txid": "abc123...",
  "stacker": "SP2...",
  "amount": "100000000000",
  "lockPeriod": 3,
  "startBurnHeight": 850000,
  "network": "testnet",
  "explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=testnet"
}
extend-stacking

既存のスタッキングロック期間を、追加の報酬サイクル分延長します。すでにスタッキングしている必要があります。ロック解除済みのウォレットが必要です。

bun run stacking/stacking.ts extend-stacking \
  --extend-count <cycles> \
  --pox-address-version <version> \
  --pox-address-hashbytes <hex>

オプション:

  • --extend-count(必須)— STXを追加でロックする報酬サイクル数(1~12)
  • --pox-address-version(必須)— Bitcoinアドレスのバージョンバイト(スタッキング開始時に使用したものと同じ)
  • --pox-address-hashbytes(必須)— Bitcoinアドレスのハッシュバイトを表す16進文字列(スタッキング開始時に使用したものと同じ)

出力:

{
  "success": true,
  "txid": "abc123...",
  "stacker": "SP2...",
  "extendCount": 2,
  "network": "testnet",
  "explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=testnet"
}

補足

  • スタッキングの最小額はサイクルごとに異なります。stack-stxを呼び出す前に、get-pox-infoを使ってminAmountUstxを確認してください。
  • Bitcoin報酬アドレスは、バージョンとhashbytes(base58checkエンコード前の生のハッシュ)で指定します。Bitcoinアドレスからこれらを導出するには、ライブラリを使うか、Taprootアドレスの場合はwalletスキルのget-taproot-addressを使ってください。
  • lock-periodには1~12サイクルを指定できます。メインネットでは、各サイクルは通常約2週間です。
  • start-burn-heightは、現在のPoXサイクルの準備フェーズ内である必要があります。get-pox-infoのnextCycle.prepare_phase_start_block_heightを確認してください。
  • ウォレット操作にはロック解除済みのウォレットが必要です(先にbun run wallet/wallet.ts unlockを実行してください)。

コメント