mcpField
S
stx

stx

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

stx について

stxはHiro APIを通じてStacks L2上のSTXトークンやコントラクトを操作するスキルです。アドレスによる照会から、ウォレット認証が必要な送金やClarityコントラクト操作まで扱います。

主な機能

  1. 01STX残高とトランザクション状態の照会
  2. 02手数料を指定したSTX送金
  3. 03署名済みトランザクションのブロードキャスト
  4. 04スマートコントラクト関数の呼び出し
  5. 05Clarityコントラクトのデプロイ

活用シーン

  1. 01Stacksアドレスの残高確認
  2. 02メモ付きSTX送金
  3. 03トランザクション状態の確認
  4. 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 は必要な場合にのみ使用してください

コメント