nft について
nft は、Stacks L2 上の SIP-009 NFT を照会・転送するコマンドラインスキルです。保有状況、メタデータ、所有者、コレクション情報、転送履歴を確認できます。照会にウォレットは不要ですが、転送にはロック解除済みウォレットが必要です。
主な機能
- 01アドレスやコレクションで保有NFTを絞り込み
- 02SIP-016 NFTメタデータの取得
- 03NFTの現在の所有者を確認
- 04コレクション情報とコントラクト関数の表示
- 05コレクションの転送履歴を閲覧
- 06NFTを指定アドレスへ転送
活用シーン
- 01アドレスが保有するNFTの確認
- 02NFTのメタデータと現在の所有者の照合
- 03コレクションの供給量と関数の確認
- 04コレクションの転送追跡やNFTの送付
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aibtcdev/ skills --skill nftインストール後、Claude Code で/nftを入力して読み込まれたか確認します。
同梱ファイルAGENT.mdnft.ts
詳細
NFT スキル
Stacks L2 で SIP-009 NFT(非代替性トークン)の操作を行います。転送操作にはロック解除済みのウォレットが必要です(最初に bun run wallet/wallet.ts unlock を実行してください)。照会操作はウォレットなしで実行できます。
使用方法
bun run nft/nft.ts <subcommand> [options]
サブコマンド
get-holdings
アドレスが所有するすべての NFT を一覧表示します。
bun run nft/nft.ts get-holdings [--address <addr>] [--contract-id <id>] [--limit <n>] [--offset <n>]
オプション:
--address(任意)— 照会する Stacks アドレス(省略時はアクティブなウォレットを使用します)--contract-id(任意)— 特定の NFT コレクションのコントラクト ID で絞り込みます--limit(任意)— 結果の最大数(デフォルト:20)--offset(任意)— ページネーションのオフセット(デフォルト:0)
出力:
{
"address": "SP2...",
"network": "mainnet",
"total": 5,
"nfts": [
{ "collection": "SP2....nft-contract::my-nft", "tokenId": "u1" },
{ "collection": "SP2....nft-contract::my-nft", "tokenId": "u2" }
]
}
get-metadata
特定の NFT のメタデータを取得します(SIP-016)。
bun run nft/nft.ts get-metadata --contract-id <id> --token-id <n>
オプション:
--contract-id(必須)— NFT コレクションのコントラクト ID(例:SP2....my-nft)--token-id(必須)— NFT のトークン ID(整数)
出力:
{
"contractId": "SP2....my-nft",
"tokenId": 1,
"network": "mainnet",
"metadata": {
"name": "My NFT #1",
"description": "...",
"image": "https://..."
}
}
transfer
NFT(SIP-009)を受取人のアドレスに転送します。ロック解除済みのウォレットが必要です。
bun run nft/nft.ts transfer --contract-id <id> --token-id <n> --recipient <addr> [--fee low|medium|high|<microStx>]
オプション:
--contract-id(必須)— NFT コレクションのコントラクト ID--token-id(必須)— 転送する NFT のトークン ID(整数)--recipient(必須)— 送信先の Stacks アドレス--fee(任意)— 手数料のプリセット(low|medium|high)または micro-STX の金額。省略時は自動で見積もられます
出力:
{
"success": true,
"txid": "abc123...",
"from": "SP2...",
"recipient": "SP3...",
"contractId": "SP2....my-nft",
"tokenId": 1,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
get-owner
特定の NFT の現在の所有者を取得します。
bun run nft/nft.ts get-owner --contract-id <id> --token-id <n>
オプション:
--contract-id(必須)— NFT コレクションのコントラクト ID--token-id(必須)— NFT のトークン ID(整数)
出力:
{
"contractId": "SP2....my-nft",
"tokenId": 1,
"network": "mainnet",
"owner": "SP2..."
}
get-collection-info
NFT コレクションの名前、総供給量、利用可能な関数などの情報を取得します。
bun run nft/nft.ts get-collection-info --contract-id <id>
オプション:
--contract-id(必須)— NFT コレクションのコントラクト ID
出力:
{
"network": "mainnet",
"contractId": "SP2....my-nft",
"name": "my-nft",
"totalSupply": 10000,
"functions": ["transfer", "get-owner", "get-last-token-id", "get-token-uri"]
}
get-history
コレクション内の NFT の転送履歴を取得します。
bun run nft/nft.ts get-history --contract-id <id> [--limit <n>] [--offset <n>]
オプション:
--contract-id(必須)— NFT コレクションのコントラクト ID--limit(任意)— 結果の最大数(デフォルト:20)--offset(任意)— ページネーションのオフセット(デフォルト:0)
出力:
{
"contractId": "SP2....my-nft",
"network": "mainnet",
"total": 150,
"events": [
{
"sender": "SP2...",
"recipient": "SP3...",
"tokenId": "u1",
"txId": "abc123...",
"blockHeight": 150000
}
]
}
注意事項
- 照会操作(get-holdings、get-metadata、get-owner、get-collection-info、get-history)では、公開されている Hiro API を使用します
- 転送操作にはロック解除済みのウォレットが必要です
- NFT のトークン ID は通常、1 から始まる正の整数です
- コレクションのコントラクト ID は次の形式です:
SP<deployer-address>.<contract-name>
コメント
Markdown 対応