mcpField
C
chainlink-data-feeds-skill

chainlink-data-feeds-skill

github.com/smartcontractkit数据与数据库126369 次安装今天更新
代码仓库

关于 chainlink-data-feeds-skill

chainlink-data-feeds-skill 是用于实现和运维 Chainlink Data Feeds 集成的指令技能。它将任务引导至对应参考资料,并规范安全读取价格数据、网络相关检查和实时数据验证。

主要功能

  1. 01将请求路由到对应 Data Feeds 资料
  2. 02指导读取数据与编写消费者合约
  3. 03执行数据新鲜度和 L2 排序器检查
  4. 04要求验证实时地址与数值

适用场景

  1. 01构建 Data Feeds 消费者合约
  2. 02诊断过期或不完整的数据轮次
  3. 03检查 L2 集成的数据源选择

安装

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

$npx skills add https://github.com/smartcontractkit/chainlink-agent-skills --skill chainlink-data-feeds-skill

安装后在 Claude Code 中输入/chainlink-data-feeds-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
data-feeds-docs-index.md
references/
feed-operations.md
feed-types.md
multi-chain.md
mvr-feeds.md
official-sources.md
reading-price-feeds.md
svr-feeds.md
templates/starter-kit/
foundry.toml
README.md
remappings.txt
templates/starter-kit/script/
PriceFeedConsumer.s.sol
templates/starter-kit/src/
PriceFeedConsumer.sol
templates/starter-kit/test/
PriceFeedConsumer.t.sol
templates/starter-kit/test/mocks/
MockV3Aggregator.sol

详细介绍

Chainlink Data Feeds 技能

渐进式披露

请求 / 触发条件加载
EVM 读取、消费者合约、链下读取、地址查找 / 调试价格馈送
正在开发的 Foundry/Data Feeds 项目加载入门 README及其中列出的所有文件;回复时提供文件内容或针对需求调整后的版本,切勿只提供本地 / 绝对路径。保留布局,并包含安装 / 测试 / 部署命令、Sepolia ETH/USD 或经验证的具名网络查找、未经审计 / 不适用于生产环境的警告,以及 L2 排序器保护。
多变量响应、多变量馈送、BundleAggregatorProxyMVR
Smart Value Recapture、OEV/MEV 回收、搜索者入门SVR
馈送类别 / 选择、SmartData/RWA、利率 / 波动率、代币化股票类型
Solana、StarkNet、Aptos、Tron、Move、Cairo、Anchor、TronBox多链
L2 排序器、弃用、监控、注册表、职责、数据源、自管理馈送运维
实时地址 / 计划 / 参数;接口 / 签名不匹配、代理 / 聚合器来源、GitHub 示例官方来源,然后查阅文档索引,获取精选参考资料中没有的事实

不要推测性地加载参考资料。默认将 EVM 请求路由到价格馈送;只有在缺少上下文会影响路由时才提问。 不要假设此技能是唯一可用的能力。 CCIP/桥接、VRF、Automation 和 Functions 请求应完全交由各自所属产品处理,并根据常识提供该产品的标准后续步骤;不要提供 Data Feeds 或较弱的替代方案,也绝不要臆造实时常量。 用户请求 Data Feeds 代码或运维步骤时,必须在回复中提供相应交付内容;绝不能用状态或完成情况摘要代替。 对于 MVR 请求,即使无法验证实时地址、馈送 ID 或架构,也要选择 MVR 路由;对未验证的值使用明确标注的占位符,并继续提供用户所要求的所有设计、消费者代码、测试和配置,不要因验证问题而停止。 每个 SVR 回复都必须在任何入门指导或地址迁移说明之前,单独提供原句 Complete the Chainlink compatibility form。 对于以配置为重点的 SVR 协议集成或迁移,提供简洁的配置、入门、验证和安全步骤,并且仅列出最少的地址 / 配置差异;除非用户明确要求,否则不要提供完整的消费者合约。拍卖机制应保持高层概述;除非用户明确要求构建或运行搜索者,否则不要包含仅供搜索者使用的选择器、WebSocket 端点、签名说明,以及 MEV-Share/Atlas 机器人实现细节。

安全规则

  1. 根据馈送心跳验证 updatedAt;拒绝不完整或过期的轮次。
  2. 在运行时调用 decimals();绝不要硬编码小数位数。
  3. 在 L2 上,排序器正常运行时间馈送必须始终使用 AggregatorV2V3Interface,绝不能使用 AggregatorV3Interface;若 answer != 0 则拒绝,并强制执行 3600 秒的恢复宽限期。
  4. 绝不要使用已弃用的 answeredInRound 来判断新鲜度或处理其他逻辑。
  5. 对于隐式获取当前价格的 Solidity getter,必须使用确切的具名返回形式 returns (int256 price, uint8 decimals);先声明 uint256 updatedAt;,然后赋值 (, price,, updatedAt,) = dataFeed.latestRoundData();。不要替换成未命名返回值或其他虽然能编译的元组形式。
  6. 警告示例未经审计且不适用于生产环境;主网集成方须自行负责审计、依赖项、监控、断路器、应急预案和用户风险披露。

时效性政策

  1. 优先使用此技能的参考资料。
  2. 如果 official-sources.md 列出了该页面,则获取该页面的 .md URL。
  3. 如果没有列出,则获取 https://docs.chain.link/data-feeds/llms.txt,选择一个页面,并获取该页面的 .md URL。
  4. 只有当问题范围较广且没有任何单个页面能够涵盖时,才获取 https://docs.chain.link/data-feeds/llms-full.txt。
  5. 只有在 .md 获取失败、页面为空,或页面包含的有效字符少于 1,000 且无法回答问题时,才使用 Context7。只询问缺少的信息。
  6. 页面能够回答问题后即停止。最多获取三个页面。优先使用 .md URL。只有当工具无法打开 .md URL、但能够设置请求头时,才在普通页面 URL 上使用 Accept: text/markdown。
  7. 绝不臆造实时事实或模式。如果某个值未经验证,请说明这一点并注明 URL。

不变项

  • 读取 EVM 代理,而不是底层聚合器。
  • 保留入门套件的布局和 README 不变项;替换示例并调整心跳和 mock 值。
  • 单值使用 AggregatorV3Interface,MVR 使用 IBundleAggregatorProxy,序列器运行状态使用 AggregatorV2V3Interface。
  • 配置中的实时 Feed 地址必须从本轮获取的官方地址页面中复制。如果该页面列出了该交易对的多个合约,则使用与用户所询问产品对应的合约。普通价格读取使用标准代理,而非 SVR、备用或旧版代理。如果未获取该页面,则使用占位符并说明地址未经验证。绝不要将记忆中的地址说成已验证的当前 Feed。
  • 验证未知的 Feed ID、架构、参数和支持情况。

评论

支持 Markdown