Vitruveo区块链数据服务
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/block-chain-data-service。
技能介绍
解决什么问题
让 AI 代理直接访问链上数据,往往要面对三道坎:RPC 节点的接入与鉴权、多条 EVM 链的差异化处理,以及「读链」与「写链」混在一起带来的误操作风险。Vitruveo MCP Server 把这层复杂度收敛为一个只读的模型上下文协议(MCP)服务:代理不需要自己拼 RPC URL、不需要处理签名与 Gas,也不会误发交易,只需要按意图调用 scripts.tools 下的函数即可。
核心能力
该服务覆盖了开发者日常排查链上数据时最常用的查询场景:
- 链与合约基础信息:
get_supported_networks列出支持的 EVM 网络,get_chain_info查询单条网络信息,get_core_contracts获取核心合约地址; - 区块与交易:
get_block_by_number、get_latest_block按高度或最新区块读取,get_transaction与get_transaction_receipt按哈希拉取交易详情与回执; - 账户与余额:
get_balance查原生代币(ETH、MATIC 等),get_erc20_balance/get_token_balance查 ERC20 余额,is_contract区分合约地址与 EOA; - 合约与代币元数据:
read_contract调用 view/pure 函数(不修改状态、无需 Gas 或签名),get_token_info拉取代币的名称、符号、精度、总供应量等元数据,estimate_gas估算交易成本; - NFT 查询:
get_nft_info、check_nft_ownership、get_nft_balance面向 ERC721,get_erc1155_token_uri与get_erc1155_balance面向 ERC1155 多代币标准。
工作流程
SKILL.md 把大模型定位为路由层:理解用户意图、选择工具、提取参数;真正的数据请求由代码调用 API 完成。关键步骤如下:
- 检查 API 密钥:若
scripts.config.settings.api_key为空,通过AskUserQuestion向用户询问密钥,拿到后调用scripts.config.set_api_key(key)保存; - 选择工具:按用户意图从工具表中选定对应的
scripts.tools.*函数; - 提取参数:按所选工具补齐必填参数,缺失时同样用
AskUserQuestion追问; - 调用与返回:使用关键字参数调用函数(例如
scripts.tools.get_block_by_number(blockNumber=12345)),再把result["raw"]整理后展示给用户。
适用边界
- 服务为只读设计,无法广播交易、签名或修改链上状态,Gas 估算也仅作为参考;
- API 密钥是硬性前提,未配置时禁止自行搜索或编造数据,必须先向用户索取;
- 参数缺失时必须追问而非猜测,避免用默认值掩盖意图;
- 密钥应通过
.env中的XBY_APIKEY管理,不要把密钥写进提示词或日志。
使用场景
- 排查转账问题:收到用户反馈交易异常,按交易哈希查询发送方、接收方、金额与状态
- 对账前核对:财务人员查询指定钱包地址的 ETH 原生余额与某个 ERC20 代币余额
- 代币调研:研究员查看某 ERC20 代币的名称、符号、精度与总供应量等元数据
- NFT 审核:运营确认某钱包是否持有指定藏品编号,并统计其在该集合下的持有数量
适合人员
- 区块链开发者:想在对话中快速读取链上数据做排查,不愿手写 RPC 请求
- Web3 数据分析师:需要频繁查询区块、交易与代币信息,寻找稳定的只读入口
- 智能体应用工程师:正在构建 AI 代理,希望为其挂载可靠的链上查询工具
- NFT 项目运营:需要核对藏品持有地址、验证所有权并统计持有数量