Машина Oracle является ключевой инфраструктурой в области блокчейна, соединяющей смарт-контракты с внешним миром. Она выступает в качестве промежуточной системы, способной предоставлять внешнюю информацию для смарт-контрактов на блокчейне. Основная функция машины Oracle заключается в том, чтобы поставлять данные для смарт-контрактов на блокчейне.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Например, предположим, что мы развернули смарт-контракт в сети Ethereum, который требует получения данных о объемах торговли нефтью за определенную дату. Поскольку сам смарт-контракт не может напрямую получить доступ к реальным данным вне цепи, в этом случае необходимо использовать Машину Oracle для реализации. Конкретный процесс выглядит следующим образом: смарт-контракт сначала записывает требования к данным объемов торговли нефтью за нужную дату в журнал событий, затем вне цепи запускается процесс, который отслеживает и подписывается на этот журнал событий. Когда процесс обнаруживает запрос в транзакции, он вызывает соответствующие методы контракта, отправляя транзакцию в цепи, и загружает информацию о объемах торговли нефтью за указанную дату в смарт-контракт.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
На рынке Машин Oracle, Chainlink занимает наибольшую долю рынка. Как децентрализованный проект Машины Oracle, Chainlink направлен на предоставление данных, генерируемых в реальном мире, в блокчейн наиболее безопасным способом. Chainlink, основываясь на основных принципах Машины Oracle, вокруг токена LINK создал благоприятную экосистему через экономические стимулы. Машины Oracle Chainlink необходимо активировать с помощью переводов токена LINK. LINK является контрактом ERC677 в сети Ethereum, а функции Машины Oracle, основанные на токене LINK, принадлежат к модели запрос/ответ.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Стандарт токенов ERC677 добавляет метод transferAndCall на основе ERC20. Этот метод объединяет платеж и запрос услуги, удовлетворяя потребности сценариев бизнеса Машина Oracle. Когда пользователь выполняет перевод transferAndCall, кроме перевода ERC20, также проверяется, является ли адрес получателя адресом контракта, если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Перед запросом услуг Машины Oracle пользователи должны сначала подтвердить доверие к этой Машине Oracle, поскольку она требует предварительной оплаты за услуги. Когда потребитель Машины Oracle использует метод transferAndCall для оплаты и запроса услуг, метод onTokenTransfer контракта Машины Oracle выполняет ряд проверок безопасности, включая проверку того, является ли перевод токеном LINK, проверку на превышение длины данных, проверку селектора функции и т.д. Проверка должна быть пройдена, прежде чем будет вызван метод oracleRequest контракта oracle через deleGatecall.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Метод oracleRequest генерирует уникальный requestId, устанавливает время истечения срока и вызывает событие OracleRequest. Это событие содержит данные запроса в формате кодирования CBOR. Узлы вне цепи будут слушать это событие, извлекать информацию о запросе, а затем через API получать необходимые данные, в конечном итоге вызывая метод fulfillOracleRequest для отправки данных в цепь с помощью транзакции.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Метод fulfillOracleRequest выполняет ряд проверок, включая проверку прав вызывающего, валидацию запроса и т. д. После успешной проверки записывается количество доступных для вывода токенов, и вызывается функция обратного вызова контракта запрашивающего для возврата данных.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Для разработчиков, если вы хотите использовать уже существующие данные о ценах на валютные пары, вы можете напрямую вызвать интерфейс Price Feed, предоставленный официально. У каждой валютной пары есть отдельный Price Feed ), который на самом деле является Aggregator (, а именно контрактом AggregatorProxy. Разработчики могут получить последние данные о ценах, вызвав метод latestRoundData )(, где параметр answer является последней ценой. Для большинства валютных пар, оцененных в USD, точность унифицирована на уровне 8 знаков, что упрощает обработку точности между различными токенами.
! Chainlink (часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
5
Поделиться
комментарий
0/400
PebbleHander
· 16ч назад
Так и есть.
Посмотреть ОригиналОтветить0
BankruptWorker
· 16ч назад
Слишком трудно, сдаться и прекратить борьбу.
Посмотреть ОригиналОтветить0
CryptoGoldmine
· 16ч назад
В прошлом году я заработал 200 раз, полагаясь на котировки LINK, полностью основываясь на техническом анализе.
Посмотреть ОригиналОтветить0
TestnetScholar
· 16ч назад
link снова списал домашку
Посмотреть ОригиналОтветить0
Web3Educator
· 16ч назад
фундаментально увлекательные вещи, позвольте мне объяснить это моим студентам web3...
Chainlink Машина Oracle: мост между Блокчейн и реальным миром
Машина Oracle технологии: на примере Chainlink
Машина Oracle является ключевой инфраструктурой в области блокчейна, соединяющей смарт-контракты с внешним миром. Она выступает в качестве промежуточной системы, способной предоставлять внешнюю информацию для смарт-контрактов на блокчейне. Основная функция машины Oracle заключается в том, чтобы поставлять данные для смарт-контрактов на блокчейне.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Например, предположим, что мы развернули смарт-контракт в сети Ethereum, который требует получения данных о объемах торговли нефтью за определенную дату. Поскольку сам смарт-контракт не может напрямую получить доступ к реальным данным вне цепи, в этом случае необходимо использовать Машину Oracle для реализации. Конкретный процесс выглядит следующим образом: смарт-контракт сначала записывает требования к данным объемов торговли нефтью за нужную дату в журнал событий, затем вне цепи запускается процесс, который отслеживает и подписывается на этот журнал событий. Когда процесс обнаруживает запрос в транзакции, он вызывает соответствующие методы контракта, отправляя транзакцию в цепи, и загружает информацию о объемах торговли нефтью за указанную дату в смарт-контракт.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
На рынке Машин Oracle, Chainlink занимает наибольшую долю рынка. Как децентрализованный проект Машины Oracle, Chainlink направлен на предоставление данных, генерируемых в реальном мире, в блокчейн наиболее безопасным способом. Chainlink, основываясь на основных принципах Машины Oracle, вокруг токена LINK создал благоприятную экосистему через экономические стимулы. Машины Oracle Chainlink необходимо активировать с помощью переводов токена LINK. LINK является контрактом ERC677 в сети Ethereum, а функции Машины Oracle, основанные на токене LINK, принадлежат к модели запрос/ответ.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Стандарт токенов ERC677 добавляет метод transferAndCall на основе ERC20. Этот метод объединяет платеж и запрос услуги, удовлетворяя потребности сценариев бизнеса Машина Oracle. Когда пользователь выполняет перевод transferAndCall, кроме перевода ERC20, также проверяется, является ли адрес получателя адресом контракта, если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Перед запросом услуг Машины Oracle пользователи должны сначала подтвердить доверие к этой Машине Oracle, поскольку она требует предварительной оплаты за услуги. Когда потребитель Машины Oracle использует метод transferAndCall для оплаты и запроса услуг, метод onTokenTransfer контракта Машины Oracle выполняет ряд проверок безопасности, включая проверку того, является ли перевод токеном LINK, проверку на превышение длины данных, проверку селектора функции и т.д. Проверка должна быть пройдена, прежде чем будет вызван метод oracleRequest контракта oracle через deleGatecall.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Метод oracleRequest генерирует уникальный requestId, устанавливает время истечения срока и вызывает событие OracleRequest. Это событие содержит данные запроса в формате кодирования CBOR. Узлы вне цепи будут слушать это событие, извлекать информацию о запросе, а затем через API получать необходимые данные, в конечном итоге вызывая метод fulfillOracleRequest для отправки данных в цепь с помощью транзакции.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Метод fulfillOracleRequest выполняет ряд проверок, включая проверку прав вызывающего, валидацию запроса и т. д. После успешной проверки записывается количество доступных для вывода токенов, и вызывается функция обратного вызова контракта запрашивающего для возврата данных.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Для разработчиков, если вы хотите использовать уже существующие данные о ценах на валютные пары, вы можете напрямую вызвать интерфейс Price Feed, предоставленный официально. У каждой валютной пары есть отдельный Price Feed ), который на самом деле является Aggregator (, а именно контрактом AggregatorProxy. Разработчики могут получить последние данные о ценах, вызвав метод latestRoundData )(, где параметр answer является последней ценой. Для большинства валютных пар, оцененных в USD, точность унифицирована на уровне 8 знаков, что упрощает обработку точности между различными токенами.
! Chainlink (часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(