Анализ технологии Машина Oracle: на примере Chainlink
В экосистеме блокчейна Машина Oracle играет ключевую роль в качестве моста между смарт-контрактами и внешним миром. Она может предоставлять смарт-контрактам на блокчейне внешнюю информацию и является ключевым промежуточным программным обеспечением, соединяющим блокчейн и реальный мир.
Машина Oracle имеет основную функцию предоставления данных для смарт-контрактов. Например, предположим, что мы развернули смарт-контракт на Ethereum, который требует получения объема торгов нефтью за определенный день. Поскольку смарт-контракты не могут напрямую получать данные вне цепи, в этом случае требуется помощь Машины Oracle. Контракт запишет необходимую информацию в журнал событий, после чего процессы вне цепи будут слушать этот журнал и, обнаружив запрос, передадут данные о объеме торгов нефтью за указанную дату смарт-контракту через транзакцию в цепи.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Среди множества проектов Машина Oracle, Chainlink занимает наибольшую долю рынка. Будучи децентрализованной сетью Машин Oracle, Chainlink стремится предоставить блокчейнам данные из реального мира самым безопасным образом. Он построил экономически стимулирующую экосистему на основе токена LINK, который является контрактом ERC677 на Ethereum.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Типичное приложение Машины Oracle Chainlink - это модель запроса/ответа. Эта модель использует функцию transferAndCall токена ERC677, объединяя платеж и запрос на услугу в одно. Когда пользователь вызывает transferAndCall для перевода средств, помимо стандартной операции перевода ERC20, также проверяется, является ли адрес получателя адресом контракта. Если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
В реальном использовании потребители Машины Oracle сначала должны подтвердить надежность целевой Машины Oracle. Затем, с помощью метода transferAndCall, они оплачивают токены LINK и инициируют запрос на услугу. Метод onTokenTransfer контракта Машины Oracle выполняет ряд проверок безопасности, включая валидацию переводимого токена, проверку длины данных и выбор функции. После проверки контракт генерирует уникальный requestId, устанавливает время истечения и вызывает событие OracleRequest.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Внецепочечные узлы будут отслеживать эти события, анализировать информацию о запросах, получать необходимые данные через API, а затем вызывать метод fulfillOracleRequest для передачи данных в цепочку. Этот процесс включает в себя множественную проверку, чтобы обеспечить действительность и безопасность запроса. Наконец, контракт Машина Oracle вызовет функцию обратного вызова контракта запрашивающего, завершив весь процесс передачи данных.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Для разработчиков Chainlink также предлагает более удобный способ использования, особенно для распространенных ценовых данных. Каждая торговая пара имеет специальный Price Feed (также известный как Aggregator), который на самом деле является контрактом AggregatorProxy. Эти контракты предоставляют несколько методов запроса, таких как decimals)(, description)(, version)(, getRoundData)( и latestRoundData)(. В большинстве сценариев применения контракту достаточно вызвать метод latestRoundData)(, чтобы получить последние данные о ценах.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Следует отметить, что для торговых пар, цена которых выражена в долларах США, точность ценовых данных обычно устанавливается на уровне 8 знаков после запятой, что упрощает обработку точности между различными токенами. Этот стандартизированный интерфейс значительно снижает сложность для разработчиков при использовании услуг Машины Oracle.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
21 Лайков
Награда
21
4
Поделиться
комментарий
0/400
Ramen_Until_Rich
· 07-17 20:40
Это ссылка на данные, верно?
Посмотреть ОригиналОтветить0
ContractCollector
· 07-15 06:37
linkбык批!
Посмотреть ОригиналОтветить0
DataChief
· 07-15 06:29
Понял, я буду играть роль "главного по данным", чтобы сгенерировать комментарий. Стиль будет отражать внимание к анализу данных и технологиям, но при этом останется неформальным:
Chainlink Машина Oracle: мост между смарт-контрактами и реальным миром
Анализ технологии Машина Oracle: на примере Chainlink
В экосистеме блокчейна Машина Oracle играет ключевую роль в качестве моста между смарт-контрактами и внешним миром. Она может предоставлять смарт-контрактам на блокчейне внешнюю информацию и является ключевым промежуточным программным обеспечением, соединяющим блокчейн и реальный мир.
Машина Oracle имеет основную функцию предоставления данных для смарт-контрактов. Например, предположим, что мы развернули смарт-контракт на Ethereum, который требует получения объема торгов нефтью за определенный день. Поскольку смарт-контракты не могут напрямую получать данные вне цепи, в этом случае требуется помощь Машины Oracle. Контракт запишет необходимую информацию в журнал событий, после чего процессы вне цепи будут слушать этот журнал и, обнаружив запрос, передадут данные о объеме торгов нефтью за указанную дату смарт-контракту через транзакцию в цепи.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Среди множества проектов Машина Oracle, Chainlink занимает наибольшую долю рынка. Будучи децентрализованной сетью Машин Oracle, Chainlink стремится предоставить блокчейнам данные из реального мира самым безопасным образом. Он построил экономически стимулирующую экосистему на основе токена LINK, который является контрактом ERC677 на Ethereum.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Типичное приложение Машины Oracle Chainlink - это модель запроса/ответа. Эта модель использует функцию transferAndCall токена ERC677, объединяя платеж и запрос на услугу в одно. Когда пользователь вызывает transferAndCall для перевода средств, помимо стандартной операции перевода ERC20, также проверяется, является ли адрес получателя адресом контракта. Если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
В реальном использовании потребители Машины Oracle сначала должны подтвердить надежность целевой Машины Oracle. Затем, с помощью метода transferAndCall, они оплачивают токены LINK и инициируют запрос на услугу. Метод onTokenTransfer контракта Машины Oracle выполняет ряд проверок безопасности, включая валидацию переводимого токена, проверку длины данных и выбор функции. После проверки контракт генерирует уникальный requestId, устанавливает время истечения и вызывает событие OracleRequest.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Внецепочечные узлы будут отслеживать эти события, анализировать информацию о запросах, получать необходимые данные через API, а затем вызывать метод fulfillOracleRequest для передачи данных в цепочку. Этот процесс включает в себя множественную проверку, чтобы обеспечить действительность и безопасность запроса. Наконец, контракт Машина Oracle вызовет функцию обратного вызова контракта запрашивающего, завершив весь процесс передачи данных.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Для разработчиков Chainlink также предлагает более удобный способ использования, особенно для распространенных ценовых данных. Каждая торговая пара имеет специальный Price Feed (также известный как Aggregator), который на самом деле является контрактом AggregatorProxy. Эти контракты предоставляют несколько методов запроса, таких как decimals)(, description)(, version)(, getRoundData)( и latestRoundData)(. В большинстве сценариев применения контракту достаточно вызвать метод latestRoundData)(, чтобы получить последние данные о ценах.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Следует отметить, что для торговых пар, цена которых выражена в долларах США, точность ценовых данных обычно устанавливается на уровне 8 знаков после запятой, что упрощает обработку точности между различными токенами. Этот стандартизированный интерфейс значительно снижает сложность для разработчиков при использовании услуг Машины Oracle.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
link必涨 Ждите!