stx について
stxはHiro APIを通じてStacks L2上のSTXトークンやコントラクトを操作するスキルです。アドレスによる照会から、ウォレット認証が必要な送金やClarityコントラクト操作まで扱います。
主な機能
- 01STX残高とトランザクション状態の照会
- 02手数料を指定したSTX送金
- 03署名済みトランザクションのブロードキャスト
- 04スマートコントラクト関数の呼び出し
- 05Clarityコントラクトのデプロイ
活用シーン
- 01Stacksアドレスの残高確認
- 02メモ付きSTX送金
- 03トランザクション状態の確認
- 04Clarityコントラクトのデプロイや呼び出し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill stxインストール後、Claude Code で/stxを入力して読み込まれたか確認します。
同梱ファイルAGENT.mdstx.ts
詳細
STX スキル
Hiro API を使用して、Stacks の L2 STX トークンとコントラクトの操作を行います。送金とコントラクトへの書き込み操作には、ロック解除済みのウォレットが必要です(先に bun run wallet/wallet.ts unlock を実行してください)。残高とステータスの照会は、アドレスだけで利用できます。
使用方法
bun run stx/stx.ts <subcommand> [options]
サブコマンド
get-balance
Stacks アドレスの STX 残高を取得します。micro-STX と STX の両方で残高を返します。
bun run stx/stx.ts get-balance [--address <addr>]
オプション:
--address(任意)— 確認する Stacks アドレス(省略した場合はアクティブなウォレットを使用します)
出力:
{
"address": "SP2...",
"network": "mainnet",
"balance": {
"microStx": "1000000",
"stx": "1 STX"
},
"locked": {
"microStx": "0",
"stx": "0 STX"
},
"explorerUrl": "https://explorer.hiro.so/address/SP2...?chain=mainnet"
}
transfer
受取人に STX を送金します。ロック解除済みのウォレットが必要です。
1 STX = 1,000,000 micro-STX です。--amount には micro-STX 単位で指定してください。
bun run stx/stx.ts transfer --recipient <addr> --amount <microStx> [--memo <text>] [--fee low|medium|high|<microStx>]
オプション:
--recipient(必須)— 送金先の Stacks アドレス(SP または ST で始まるもの)--amount(必須)— micro-STX 単位の金額(例:「2000000」は 2 STX)--memo(任意)— 送金に含めるメッセージ--fee(任意)— 手数料のプリセット(low|medium|high)または micro-STX 単位の金額。省略すると自動で見積もられます
出力:
{
"success": true,
"txid": "abc123...",
"from": "SP2...",
"recipient": "SP3...",
"amount": "2 STX",
"amountMicroStx": "2000000",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
broadcast-transaction
署名済みの Stacks トランザクションをネットワークにブロードキャストします。
bun run stx/stx.ts broadcast-transaction --signed-tx <hex>
オプション:
--signed-tx(必須)— 16 進数文字列形式の署名済みトランザクション
出力:
{
"success": true,
"txid": "abc123...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
call-contract
Stacks スマートコントラクトの関数を呼び出します。トランザクションに署名してブロードキャストします。ロック解除済みのウォレットが必要です。
bun run stx/stx.ts call-contract --contract-address <addr> --contract-name <name> --function-name <fn> [--args <json>] [--post-condition-mode allow|deny] [--post-conditions <json>] [--fee low|medium|high|<microStx>]
オプション:
--contract-address(必須)— コントラクトをデプロイしたアドレス(例:SP2...)--contract-name(必須)— コントラクト名(例:my-token)--function-name(必須)— 呼び出す関数--args(任意)— JSON 配列形式の関数引数(デフォルト:「[]」)。型付き引数の場合:[{"type":"uint","value":100}]--post-condition-mode(任意)—deny(デフォルト)は予期しない送金をブロックします。allowはすべての送金を許可します--post-conditions(任意)— JSON 配列形式のポスト条件。形式については SKILL.md を参照してください。--fee(任意)— 手数料のプリセットまたは micro-STX 単位の金額。省略すると自動で見積もられます
ポスト条件の形式:
- STX:
{"type":"stx","principal":"SP...","conditionCode":"eq","amount":"1000000"} - FT:
{"type":"ft","principal":"SP...","asset":"SP...contract","assetName":"token-name","conditionCode":"eq","amount":"1000"} - NFT:
{"type":"nft","principal":"SP...","asset":"SP...contract","assetName":"nft-name","tokenId":"1"}
出力:
{
"success": true,
"txid": "abc123...",
"contract": "SP2....my-token",
"function": "transfer",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
deploy-contract
Stacks ブロックチェーンに Clarity スマートコントラクトをデプロイします。ロック解除済みのウォレットが必要です。
bun run stx/stx.ts deploy-contract --contract-name <name> --code-body <clarity-source> [--fee low|medium|high|<microStx>]
オプション:
--contract-name(必須)— コントラクトの一意の名前(小文字。ハイフンを使用できます)--code-body(必須)— Clarity のソースコード全体--fee(任意)— 手数料のプリセットまたは micro-STX 単位の金額。省略すると自動で見積もられます
出力:
{
"success": true,
"txid": "abc123...",
"contractId": "SP2....my-contract",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
get-transaction-status
txid を指定して Stacks トランザクションのステータスを確認します。
bun run stx/stx.ts get-transaction-status --txid <txid>
オプション:
--txid(必須)— トランザクション ID(64 文字の 16 進数文字列)
出力:
{
"txid": "abc123...",
"status": "success",
"block_height": 150000,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
注意事項
- 残高照会では公開 Hiro API を使用します(HIRO_API_KEY を設定している場合を除き、認証は不要です)
- 送金とコントラクト操作には、ロック解除済みのウォレットが必要です(先に
bun run wallet/wallet.ts unlockを実行してください) --feeを省略すると、手数料は自動で見積もられます。プリセット(low|medium|high)または正確な micro-STX 単位の金額を指定できます- ポスト条件モードの
deny(デフォルト)は意図しないアセットの移動を防ぎます。allowは必要な場合にのみ使用してください