
适用范围:需要外部行情的链上应用
行情数据能否适用,首先取决于应用需要什么信息。以太坊官方预言机说明指出,智能合约默认无法直接获取链外信息,预言机负责将外部数据引入链上;其评估重点包括正确性、可用性及激励机制。需要外部价格作为计算输入的合约,因此还要评估数据进入链上的过程。
这些条件主要面向链上合约使用行情的场景。普通网页展示价格与合约据此自动执行,对延迟和故障的容忍度可能不同,不能只因某个接口能够返回数值,就认定它适合所有用途。

条件一:数据含义与接入环境匹配
应用应明确资产对象、计价单位和目标网络。同一资产以不同单位表达的价格不能直接混用,测试环境的示例配置也不能直接当作生产环境配置。

Chainlink接口说明建议通过代理地址使用AggregatorV3Interface。接口提供数据描述、精度、轮次和更新时间;answer的含义随数据源而变,可能表示价格或储备等信息。接入时需要核对具体数据源,不能仅凭字段名称判断用途。
条件二:精度与时效满足业务要求
数值计算需要按照数据源声明的精度解释原始整数,再统一参与运算的单位。否则,即使数据读取成功,也可能因缩放处理错误产生不正确的结果。
最新轮次表示接口当前可提供的最新记录,并不自动代表此刻市场状态。应用需要结合更新时间判断记录是否足够新,并按照用途明确可接受的延迟。仅取得一个价格数字,无法完成时效判断。
条件三:异常情况下有明确处理方式
数据可读与数据适用是两个检查环节。调用失败、更新时间异常、数值不符合业务含义时,应用需要有明确的处理规则,例如暂停依赖该输入的计算,避免把缺失数据当作正常值。
异常范围应结合具体数据类型设计。备用来源也需要匹配资产、单位和时间口径,否则切换后可能引入新的计算偏差。
常见问题
数据上链后是否一定真实?上链使合约能够基于链上记录执行,但外部来源是否准确、传输是否完整仍需评估。链上可核验性不能单独证明链外行情真实。
历史轮次能否直接用于分析?按轮次查询可以取得相应记录,但分析前仍需确认时间覆盖、记录间隔和数据口径,不能默认轮次记录就是等时间间隔的行情序列。
是否存在通用的最大延迟?适用阈值取决于应用用途和数据源运行方式。接口提供更新时间,只是判断依据,具体能否接受仍由应用要求决定。