stacking について
PoX-5 での STX ステーキングを管理するコマンドラインスキルです。ネットワークやステーキングの読み取り専用照会に加え、ウォレットを使ったステーキング、更新、解除、sBTC 報酬の請求に対応します。
主な機能
- 01PoX-5 とステーキング状態の照会
- 02署名マネージャーの一覧表示
- 03STX のステーク、延長、解除
- 04sBTC 報酬の確認と請求
- 05署名前のネットワーク状態確認
活用シーン
- 01ウォレットの STX ステーク状況の確認
- 02報酬サイクルごとの署名マネージャー比較
- 03ステークや報酬受取設定の変更
- 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を実行してください)。