mcpField
N
nft

nft

github.com/alphaonedev其他43 次安装
代码仓库

关于 nft

nft 是用于在区块链网络上执行 NFT 操作的 OpenClaw 技能,面向开发者及数字藏品应用。它通过 CLI 和 API 支持铸造、转移、查询元数据和验证所有权。

主要功能

  1. 01在支持的网络上铸造 NFT
  2. 02转移代币并估算 Gas
  3. 03获取代币元数据和所有者信息
  4. 04验证代币是否存在及其所有权
  5. 05执行合约操作,例如授权

适用场景

  1. 01为数字艺术或藏品创建 NFT
  2. 02在区块链应用中核查所有权和元数据
  3. 03在钱包地址间转移代币
  4. 04在 dApp 中自动执行 NFT 交互

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill nft

安装后在 Claude Code 中输入/nft确认已加载。

详细介绍

用途

此技能可让 OpenClaw 使用 Web3 协议处理区块链网络上的 NFT 相关任务,包括铸造、转移、查询和管理 NFT。

适用场景

  • 构建需要创建 NFT 的应用,例如数字艺术品市场或收藏品应用。
  • 查询区块链项目中的 NFT 所有权或元数据。
  • 在涉及加密钱包或智能合约且需要转移或验证 NFT 的场景中使用。
  • 集成 dApp,以自动执行 Ethereum 或 Solana 等网络上的 NFT 交互。

主要功能

  • 在受支持的区块链上铸造新的 NFT(例如通过 ERC-721 标准在 Ethereum 上铸造)。
  • 在钱包地址之间转移 NFT,并估算 Gas 费。
  • 获取并显示 NFT 元数据,包括 Token URI 和所有者详情。
  • 通过区块链查询验证 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 用于自定义 Gas 限制、--dry-run 用于模拟而不执行。 示例:claw nft create --network ethereum --wallet 0x123abc --metadata nft_data.json(创建 NFT 并返回 Token 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。确保已配置区块链 RPC 端点,例如设置 $ETHEREUM_RPC_URL=https://mainnet.infura.io/v3/your_project_id。

对于智能合约:在 JSON 配置文件中提供 ABI,例如 {"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)。

常见错误:

  • 网络问题:验证 $ETHEREUM_RPC_URL,检查是否出现“connection refused”,并通过指数退避重试(例如,等待 5s,然后等待 10s)。
  • 输入无效:使用正则表达式验证钱包地址(例如,在执行命令前使用 if not re.match(r'^0x[a-fA-F0-9]{40}$', address): raise ValueError)。
  • 身份验证失败:如果缺少 $NFT_API_KEY,命令会返回 401;请通过提示用户进行设置或正常退出来处理。
  • Gas 错误:遇到“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、输出 Token ID,并使用你的钱包签署交易。

  2. 转移 NFT:
    前提条件:确保发送方已批准转移。
    命令:claw nft transfer --network ethereum --from 0xSenderWallet --to 0xReceiverWallet --tokenId 42 --approve-first
    这会转移指定的 NFT、自动处理 Gas,并返回用于验证的交易哈希。

图谱关系

  • 相关内容:区块链集群(例如,与钱包和智能合约技能共享依赖项)。
  • 标签:区块链、NFT、加密货币(可通过这些标签与其他技能组合查询)。
  • 关联技能:钱包(用于资金操作)、智能合约(用于自定义 NFT 逻辑)和 Web3(用于更广泛的生态系统集成)。

评论

支持 Markdown