This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Chainlinkオラクルマシン技術解析:スマートコントラクトと現実世界の橋梁
オラクルマシン技術解析:Chainlinkの例
オラクルマシンはブロックチェーン分野における重要なインフラであり、その主な機能はスマートコントラクトに外部データを提供することです。スマートコントラクトと現実世界をつなぐ橋として、オラクルマシンはブロックチェーンエコシステムにおいて欠かせない役割を果たしています。
例えば、Ethereum上に特定の日付の原油取引量を取得する必要があるスマートコントラクトをデプロイした場合、コントラクト自体がチェーン外データに直接アクセスできないため、オラクルマシンを利用する必要があります。具体的な流れは、スマートコントラクトが必要な情報をイベントログに書き込み、オフチェーンプロセスがこのリクエストを監視して応答し、その後オンチェーン取引を通じて必要なデータをスマートコントラクトに渡します。
! チェーンリンク(オラクル解説シリーズのパート1)](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
多くのオラクルマシンプロジェクトの中で、Chainlinkはその去中心化特性と市場占有率で際立っています。ChainlinkはLINKトークンを通じて経済的インセンティブメカニズムを構築し、良性の循環エコシステムを形成しています。その中核となる機能は、LINKトークンに基づくリクエスト/レスポンスモデルです。
! オラクル解説シリーズのチェーンリンク(パート1)](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
ChainlinkはERC677標準を採用しており、これはERC20を基にした拡張であり、transferAndCallメソッドが追加されています。このメソッドは支払いとサービスリクエストを一つにまとめ、オラクルマシンのビジネスニーズをより良く満たします。ユーザーがtransferAndCallを呼び出して送金を行うと、通常のERC20送金に加えて、受取側の契約のonTokenTransferメソッドもトリガーされます。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Chainlinkのオラクルマシン契約において、onTokenTransferメソッドはまず一連の安全チェックを行います。これには、転送されるトークン、データの長さ、function selectorの検証が含まれます。チェックを通過すると、契約は一意のrequestIdを生成し、期限を設定し、OracleRequestイベントをトリガーします。このイベントには、データフォーマット、コールバックアドレスなど、リクエストの詳細情報が含まれています。
オフチェーンノードがOracleRequestイベントをリッスンすると、リクエスト情報を解析し、APIを通じて必要なデータを取得します。その後、オラクルマシン契約のfulfillOracleRequestメソッドを呼び出してデータをオンチェーンに提出します。このメソッドは一連の検証を行い、リクエスター契約のコールバック関数を呼び出して、オラクルサービスプロセス全体を完了させます。
! チェーンリンク(オラクル解説シリーズのパート1)])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
開発者にとって、Chainlinkはさらに便利な価格オラクルマシンサービスを提供しています。各取引ペアには対応するPrice Feed(すなわちAggregatorProxy)があり、開発者はこれらのコントラクトを直接呼び出して最新の価格データを取得でき、データソースのURLを自分で指定する必要はありません。ほとんどのアプリケーションシーンでは、latestRoundData)(メソッドを呼び出すだけで最新の価格を取得できます。
注目すべきは、USDを基準とした取引ペアの価格精度が通常8桁で統一されており、異なるトークンの価格処理プロセスを簡素化していることです。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(