跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.magicblock.gg/llms.txt

Use this file to discover all available pages before exploring further.

MagicBlock 上的预言机

MagicBlock 通过接入 Pyth Lazer 数据源,并以 50–200 ms 的间隔(取决于资产)更新 Ephemeral Rollup 账户,从而提供低延迟、高吞吐的预言机数据。

在线演示

实时价格流

实现方式

了解如何在链上访问我们的预言机

代码示例

查看我们的 Github 仓库
这个预言机示例使用 Pyth Lazer,但我们也可以为任意数据源构建预言机。

什么是链上预言机?

链上预言机会提供程序可以信任的、可验证的链下数据。其使用场景涵盖资产价格到事件结果等多种类型。 在 Solana 上,预言机通常通过持续更新链上账户来工作。程序会直接读取这些账户,而无需在执行时调用外部 API。我们使用的是被广泛采用的跨链预言机网络 Pyth

为什么预言机很重要

  • 金融:清算、资金费率、TWAP 等场景中,不准确的报价会带来损失和风险
  • 游戏:结算体育比赛结果;让游戏内状态与现实世界事件保持同步
  • 可组合性:可靠的链上数据让程序之间能够安全组合
准确性与延迟会直接影响正确性、安全性和用户体验。

MagicBlock 上的预言机

MagicBlock 采用标准的预言机模式,将数据写入可组合的链上账户中,但更新频率可达到 50–200 ms(取决于资产),相比之下 Solana slot 大约是 400 ms。这种延迟表现非常适合清算、跟单交易和其他对时效性要求很高的流程。

预言机的两个组成部分

  • 数据源:上游真实数据。我们可以接入任意链上或链下数据源,把 Pyth 尚未覆盖的资产(例如新的 PumpFun 或 Raydium R‑tokens)带入 Ephemeral Rollups。
  • 链上推送器:处理数据源并将更新写入链上。MagicBlock 的 chain pusher 将会开源。

流程

  1. 按固定间隔接收 Pyth Lazer 更新(根据资产为 50 ms 或 200 ms)。
  2. 将更新推送到预定义的链上账户。
  3. 程序直接读取相应账户。
这些公共 RPC 端点目前可免费用于开发:
Magic Router Devnet: https://devnet-router.magicblock.app
Solana Devnet: https://api.devnet.solana.com
ER Devnet: https://devnet.magicblock.app
TEE Devnet: https://devnet-tee.magicblock.app/
查看更多详情请点击 这里
本页是概览。若要查看字节级细节和代码示例,请参阅实现方式
代码片段刻意使用占位符,以便将重点放在流程本身。