nft について
nftは、ブロックチェーンネットワーク上でNFTを操作するOpenClawスキルで、デジタルコレクティブルを扱う開発者やアプリを対象とします。CLIとAPIから、ミント、転送、メタデータ照会、所有権確認を行えます。
主な機能
- 01対応ネットワークでNFTをミント
- 02ガス見積もり付きでトークンを転送
- 03トークンのメタデータと所有者情報を取得
- 04トークンの存在と所有権を確認
- 05承認などのコントラクト操作を実行
活用シーン
- 01デジタルアートやコレクティブルのNFTを作成
- 02ブロックチェーンアプリで所有権とメタデータを確認
- 03ウォレットアドレス間でトークンを転送
- 04dAppでのNFT操作を自動化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill nftインストール後、Claude Code で/nftを入力して読み込まれたか確認します。
詳細
目的
このスキルを使うと、OpenClaw で Web3 プロトコルを利用して、NFT のミント、転送、照会、管理など、ブロックチェーンネットワーク上の NFT 関連タスクを処理できます。
使用する場面
- デジタルアートマーケットプレイスやコレクティブルなど、NFT の作成が必要なアプリケーションを構築するとき。
- ブロックチェーンプロジェクトで NFT の所有権やメタデータを照会するとき。
- NFT の転送や検証が必要となる暗号資産ウォレットやスマートコントラクト関連のシナリオ。
- Ethereum や Solana などのネットワーク上で NFT とのやり取りを自動化するために、dApp と連携するとき。
主な機能
- 対応するブロックチェーン上で新しい NFT をミントします(例:ERC-721 標準を使用した Ethereum)。
- ガス代を見積もり、ウォレットアドレス間で NFT を転送します。
- トークン URI や所有者の詳細など、NFT のメタデータを取得して表示します。
- ブロックチェーンへのクエリを使って、NFT の存在と所有権を検証します。
- 転送の承認など、高度な操作のためにスマートコントラクトとやり取りします。
- 固有の機能:フラグを使ってネットワークを指定できます(例:EVM チェーンには
--network ethereum、SPL トークンには--network solana)。
使用パターン
コマンドを実行する前に、環境変数 $NFT_API_KEY を設定して認証を必ず初期化してください。スクリプトでは、ネットワーク障害に対処できるよう、呼び出しをエラー処理ブロックで囲んでください。
プログラムから NFT をミントするには:
- キーをエクスポートします:
export NFT_API_KEY=your_api_key - スクリプトで使用します:
claw nft create --network ethereum --wallet 0xYourWalletAddress
照会では、コマンドを連結します。まずメタデータを取得し、次に処理してください。自動化の例:ループ内で claw nft query を使用して所有権を一括確認し、レート制限(例:Ethereum では毎分 10 回未満)を守ります。
設定形式:メタデータには JSON ファイルを使用します。例:{"name": "MyNFT", "description": "Token description", "image": "ipfs://hash"}。--metadata path/to/file.json で読み込みます。
一般的なコマンド/API
-
CLI コマンド:
claw nft create --network <chain> --wallet <address> --metadata <file.json>
フラグ:--network(例:ethereum、solana)、カスタムのガス上限を指定する--gas-limit 210000、実行せずにシミュレーションする--dry-run。
例:claw nft create --network ethereum --wallet 0x123abc --metadata nft_data.json(NFT を作成し、トークン ID を返します)。 -
CLI コマンド:
claw nft transfer --network <chain> --from <sender_address> --to <receiver_address> --tokenId <id>
フラグ:承認を処理する--approve-first、優先度を指定する--gas-price 20gwei。
例:claw nft transfer --network ethereum --from 0x123abc --to 0x456def --tokenId 1 -
API エンドポイント:POST /api/nft/create
本文:{"network": "ethereum", "wallet": "0x123abc", "metadata": {"name": "ArtPiece"}}
ヘッダー:Authorization: Bearer $NFT_API_KEYを含めます。レスポンス:{ "tokenId": "123", "transactionHash": "0xhash" } を含む JSON。 -
API エンドポイント:GET /api/nft/{tokenId}/metadata
クエリパラメーター:?network=ethereum。例:curl -H "Authorization: Bearer $NFT_API_KEY" https://api.openclaw.com/api/nft/123/metadata
認証:すべての操作で必要です。環境変数として $NFT_API_KEY を設定してください。設定には、.env ファイルを使用します:NFT_API_KEY=sk_123abc。
統合に関する注意事項
OpenClaw のワークフローにスキルをインポートして統合します。例:スクリプトで import skill nft を使用します。$ETHEREUM_RPC_URL=https://mainnet.infura.io/v3/your_project_id のように設定し、ブロックチェーンの RPC エンドポイントが構成されていることを確認してください。
スマートコントラクトの場合:ABI を JSON 設定ファイルに記述します。例:{"abi": [{"constant": true, "inputs": [], "name": "ownerOf", "outputs": [{"name": "", "type": "address"}], "type": "function"} ] }。--abi path/to/abi.json で渡してください。
他のスキルとの組み合わせ:「blockchain」クラスターのスキルと併用してウォレットを管理します。例:まず claw wallet balance を呼び出して残高を確認し、次に claw nft create を実行します。
テスト:--testnet フラグを追加してテストネット環境で実行すると、Goerli(Ethereum の場合)などのネットワークに切り替わります。
エラー処理
コマンドには必ず try-catch ブロックを使用してください。たとえば、Python スクリプトでは次のようにします:try: subprocess.run(['claw', 'nft', 'create', '--network', 'ethereum']) except subprocess.CalledProcessError as e: print(e.output)。
一般的なエラー:
- ネットワークの問題:「connection refused」が発生していないかを確認するため、
$ETHEREUM_RPC_URLを検証し、指数バックオフで再試行します(例:5 秒待ってから 10 秒待つ)。 - 無効な入力:コマンドを実行する前に、正規表現でウォレットアドレスを検証します(例:
if not re.match(r'^0x[a-fA-F0-9]{40}$', address): raise ValueError)。 - 認証の失敗:
$NFT_API_KEYがない場合、コマンドは 401 を返します。設定を促すか、適切に終了するよう処理してください。 - ガス関連のエラー:「insufficient funds」の場合は、まず
claw nft estimate-gas --network ethereum --command createで残高を確認するよう案内してください。
必須事項:操作を行う前に、claw nft status --network ethereum を実行してヘルスチェックを行い、ノードの接続状態を確認してください。
具体的な使用例
-
Ethereum で NFT をミントする:
セットアップ:export NFT_API_KEY=your_keyを設定し、metadata.jsonに{"name": "OpenClawArt", "description": "AI-generated piece"}としてメタデータを用意します。
コマンド:claw nft create --network ethereum --wallet 0xYourWallet --metadata metadata.json
NFT をミントし、トークン ID を出力して、ウォレットを使ってトランザクションに署名します。 -
NFT を転送する:
前提条件:送信者が転送を承認済みであることを確認してください。
コマンド:claw nft transfer --network ethereum --from 0xSenderWallet --to 0xReceiverWallet --tokenId 42 --approve-first
指定した NFT を転送し、ガスを自動的に処理して、検証用のトランザクションハッシュを返します。
グラフの関係
- 関連項目:ブロックチェーンクラスター(ウォレットやスマートコントラクトのスキルと依存関係を共有するなど)。
- タグ:ブロックチェーン、NFT、暗号資産(これらを介してほかのスキルと連携し、複合クエリに対応します)。
- 接続されたスキル:ウォレット(資金調達操作用)、スマートコントラクト(独自の NFT ロジック用)、web3(エコシステム全体との連携用)。