MagicBlock 上のオラクル
MagicBlock は Pyth Lazer フィードを取り込み、Ephemeral Rollup アカウントを 50–200 ms 間隔(資産ごとに異なる)で更新することで、低遅延かつ高スループットのオラクルデータを提供します。ライブデモ
リアルタイム価格ストリーム
実装
オンチェーンでオラクルにアクセスする方法を学ぶ
コード例
Github リポジトリを見る
このオラクル例では Pyth Lazer を使っていますが、任意のデータソース向けにオラクルを構築できます。
オンチェーンオラクルとは?
オンチェーンオラクルは、プログラムが信頼できる検証可能なオフチェーンデータを提供します。用途は資産価格からイベント結果までさまざまです。 Solana では、オラクルは通常オンチェーンアカウントを更新し続けます。プログラムはそれらのアカウントを直接読み取るため、実行時に外部 API 呼び出しは不要です。私たちは、広く採用されているクロスチェーンオラクルネットワーク Pyth を利用しています。なぜオラクルが重要なのか
- 金融: 清算、資金調達、TWAP などでは、不正確な価格が損失やリスクにつながります
- ゲーム: スポーツ結果の確定や、ゲーム内状態を現実世界のイベントと同期する用途
- コンポーザビリティ: 信頼できるオンチェーンデータが安全なプログラム合成を可能にします
MagicBlock 上のオラクル
MagicBlock は標準的なオラクルパターンに従い、データを合成可能なオンチェーンアカウントへ書き込みますが、更新間隔は 50–200 ms(資産ごとに異なる)で、Solana slot の約 400 ms より高速です。この遅延特性は、清算、コピー取引、その他の時間に敏感なフローに適しています。オラクルの 2 つの構成要素
- データソース: 上流の真実です。任意のオンチェーン/オフチェーンフィードを取り込み、Pyth がカバーしていない資産(例: 新しい PumpFun や Raydium R‑tokens)を Ephemeral Rollups に載せられます。
- チェーンプッシャー: ソースフィードを処理してオンチェーンに更新を書き込みます。MagicBlock の chain pusher はオープンソース化される予定です。
フロー
- Pyth Lazer の更新を固定間隔(資産ごとに 50 ms または 200 ms)で受け取る
- あらかじめ定義されたオンチェーンアカウントに更新を書き込む
- プログラムが該当アカウントを直接読み取る
これらの公開 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/
詳細は こちら をご覧ください。
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/
詳細は こちら をご覧ください。

