mcpField
N
nft

nft

github.com/alphaonedevその他43 回インストール
リポジトリ

nft について

nftは、ブロックチェーンネットワーク上でNFTを操作するOpenClawスキルで、デジタルコレクティブルを扱う開発者やアプリを対象とします。CLIとAPIから、ミント、転送、メタデータ照会、所有権確認を行えます。

主な機能

  1. 01対応ネットワークでNFTをミント
  2. 02ガス見積もり付きでトークンを転送
  3. 03トークンのメタデータと所有者情報を取得
  4. 04トークンの存在と所有権を確認
  5. 05承認などのコントラクト操作を実行

活用シーン

  1. 01デジタルアートやコレクティブルのNFTを作成
  2. 02ブロックチェーンアプリで所有権とメタデータを確認
  3. 03ウォレットアドレス間でトークンを転送
  4. 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 をミントするには:

  1. キーをエクスポートします:export NFT_API_KEY=your_api_key
  2. スクリプトで使用します: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 を実行してヘルスチェックを行い、ノードの接続状態を確認してください。

具体的な使用例

  1. 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 を出力して、ウォレットを使ってトランザクションに署名します。

  2. NFT を転送する:
    前提条件:送信者が転送を承認済みであることを確認してください。
    コマンド:claw nft transfer --network ethereum --from 0xSenderWallet --to 0xReceiverWallet --tokenId 42 --approve-first
    指定した NFT を転送し、ガスを自動的に処理して、検証用のトランザクションハッシュを返します。

グラフの関係

  • 関連項目:ブロックチェーンクラスター(ウォレットやスマートコントラクトのスキルと依存関係を共有するなど)。
  • タグ:ブロックチェーン、NFT、暗号資産(これらを介してほかのスキルと連携し、複合クエリに対応します)。
  • 接続されたスキル:ウォレット(資金調達操作用)、スマートコントラクト(独自の NFT ロジック用)、web3(エコシステム全体との連携用)。

コメント