前言¶
在 DeepSeek Harness (DSH) 的插件生态中,让模型代理直接访问外部数据是常见需求。对于区块链应用的开发者来说,需要频繁查询链上状态、合约信息或交易详情。xby-blockchain-data-service 插件封装了 EVM 链的数据查询接口,开发者无需直接处理底层的 RPC 请求,通过 DSH 的工具调用机制即可获取链上数据。
插件概览¶
该插件由 xby-skill 维护,属于联网工具类别。它本质上是一个为 Vitruveo 网络提供只读区块链服务的模型上下文协议 (MCP) 服务器。插件遵循 MIT 许可证,主要面向需要在本地开发调试环境中集成区块链查询能力的开发者。
核心功能¶
插件提供了以下核心能力:
- 密钥管理:
set_xby_apikey—— 在聊天中设置 API 密钥,该设置会自动持久化,重启后依然有效。 - 链与区块信息:
get_chain_info—— 获取 EVM 网络的基础信息。get_supported_networks—— 获取支持的 EVM 网络列表。get_latest_block—— 获取最新区块号。get_block_by_number—— 根据区块号获取区块详情。
- 账户与代币查询:
get_balance—— 查询原生代币余额(如 ETH, MATIC)。get_erc20_balance/get_token_balance—— 查询 ERC20 代币余额。get_token_info—— 获取代币的元数据(名称、符号、精度、总供应量等)。
- 合约交互:
read_contract—— 调用合约的只读函数(view/pure),不消耗 Gas。is_contract—— 判断一个地址是合约地址还是外部账户 (EOA)。
- 交易相关:
get_transaction—— 获取交易详情(发送方、接收方、数值、数据等)。get_transaction_receipt—— 获取交易回执。estimate_gas—— 估算交易所需 Gas。
- NFT 与多代币标准:
get_nft_info—— 获取 ERC721 NFT 详情。check_nft_ownership—— 检查地址是否拥有特定 NFT。get_nft_balance—— 获取地址在特定集合中的 NFT 总数。get_erc1155_token_uri—— 获取 ERC1155 标准代币的元数据 URI。get_erc1155_balance—— 获取地址对特定 ERC1155 代币 ID 的持有数量。
安装与配置¶
使用前需准备 API 密钥。请前往小笨羊官网注册并获取密钥。
在终端中执行以下命令安装插件:
dsh plugin --profile web add github:xby_skill/xby-blockchain-data-service
安装完成后,在 DSH 的对话中通过 set_xby_apikey 命令传入该密钥,插件即可开始工作。
典型用法¶
安装并配置好 API 密钥后,可以通过以下步骤操作:
- 设置环境:在对话中输入设置密钥的指令,确保后续请求有权限访问服务。
- 查询网络信息:调用
get_supported_networks确认当前连接的链,或使用get_chain_info获取网络参数。 - 查询余额:使用
get_balance查询账户的原生代币余额,或使用get_token_balance查询特定 ERC20 代币余额。 - 读取合约:若需获取合约存储的数据,使用
read_contract函数,指定合约地址和方法名。 - NFT 查询:通过
get_nft_info或check_nft_ownership快速分析 NFT 资产。
注意事项¶
- API 依赖:插件依赖小笨羊官网提供的 API 服务,必须先获取密钥。
- 本地调试:根据插件说明,该插件目前仅用于本地开发调试。
- 权限与安全:作为本地调试工具,请确保在受控环境中使用,注意保管 API 密钥。
结语¶
xby-blockchain-data-service 为 DSH 用户提供了标准化的区块链数据查询入口。通过将复杂的 RPC 操作封装为工具函数,降低了智能体开发中集成区块链数据的门槛。相关代码及文档位于 GitHub:xby-skill/xby-blockchain-data-service。