Машина Oracle является ключевой инфраструктурой в экосистеме блокчейна, её основная функция заключается в предоставлении внешних данных для смарт-контрактов. Будучи промежуточным программным обеспечением, соединяющим смарт-контракты на цепи и реальный мир вне цепи, машина Oracle играет жизненно важную роль.
Умный контракт в сети Ethereum, если ему нужно получить данные о объемах торговли нефтью за определенный день, не может напрямую получить такую информацию из реального мира, находящуюся вне сети. В этом случае необходимо использовать Машину Oracle для передачи данных. Конкретный процесс таков: умный контракт сначала записывает объем торговли нефтью за нужную дату в журнал событий, затем вне сети запускается процесс для мониторинга этого журнала событий. Когда запрос обнаруживается, этот процесс отправляет транзакцию в сеть, вызывает соответствующий метод контракта и загружает данные о объемах торговли нефтью за указанную дату в умный контракт.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Среди множества проектов Машина Oracle, Chainlink занимает наибольшую долю рынка. Как децентрализованная сеть Машина Oracle, Chainlink стремится предоставлять блокчейнам данные из реального мира самым безопасным способом. На основе основных принципов Машины Oracle она построила здоровую экосистему, основанную на экономических стимулов вокруг токена LINK.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Для активации машины Oracle Chainlink необходимо осуществить перевод токенов LINK. LINK является токеном контракта ERC677 в сети Ethereum, и функция машины Oracle, основанная на LINK, относится к модели запрос/ответ.
Стандарт ERC677 добавляет метод transferAndCall на основе ERC20, объединяя платежи и запросы на услуги, лучше удовлетворяя потребности бизнес-сценариев Машины Oracle. Когда пользователь вызывает transferAndCall для перевода, помимо стандартного перевода ERC20, также проверяется, является ли адрес получателя адресом контракта; если это так, вызывается метод onTokenTransfer этого адреса.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Перед запросом услуги Машины Oracle пользователю необходимо сначала подтвердить её надежность, так как за услуги Машины Oracle необходимо сначала оплатить. Надежность Машины Oracle можно разделить по нескольким измерениям.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Когда потребители Машины Oracle используют метод transferAndCall для оплаты и запроса услуг, метод onTokenTransfer в контракте Oracle выполняет ряд проверок безопасности, включая проверку, является ли передаваемый токен LINK, превышает ли длина data допустимый предел, правильен ли селектор функции и т.д. После успешной проверки вызывается метод oracleRequest текущего контракта oracle через deleGatecall.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Метод oracleRequest создаст уникальный requestId, установит время истечения и добавит соответствующую информацию в отображение commitments. Самое важное, что он вызовет событие OracleRequest, содержащее данные запроса. Эти данные закодированы в формате CBOR и могут содержать информацию в различных формах.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Внецепочные узлы будут слушать событие OracleRequest. Когда обнаружен новый запрос, узел будет извлекать конкретную информацию, получать необходимые данные через API-вызов, а затем отправлять транзакцию, вызывая метод fulfillOracleRequest контракта Oracle, чтобы загрузить данные в цепь.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Метод fulfillOracleRequest выполняет ряд проверок, включая авторизацию вызывающего, действительность requestId и т.д. После успешной проверки, сумма запроса добавляется к доступной для вывода сумме, requestId удаляется из отображения commitments, и вызывается функция обратного вызова контракта запрашивающего.
! Chainlink (часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(
Функция обратного вызова будет проводить дальнейшую проверку, а затем обрабатывать возвращенные данные. Для ценовой Машины Oracle обычно обновляется текущая цена.
Помимо этого общего процесса Машины Oracle, Chainlink также предоставляет более простой интерфейс ценовой Машины Oracle. Каждый торговый пара имеет отдельный Price Feed)Aggregator(, разработчики могут напрямую вызывать его метод latestRoundData)( для получения последней цены, не нужно самостоятельно указывать адрес API и другую информацию.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-06e79466fe62a401c6140e09e5bd5401.webp(
В целом, Машина Oracle выступает в роли моста между миром блокчейна и реальным миром, играя незаменимую роль в децентрализованных приложениях. Chainlink стал наиболее широко используемым решением для Машин Oracle благодаря тщательно продуманным механизмам стимулирования и безопасности.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-18b532367de58ac14b8dd9b49fcea0e0.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
8
Репост
Поделиться
комментарий
0/400
DataBartender
· 07-08 06:34
linkхардкорный фанат来Пополнение маржи啦
Посмотреть ОригиналОтветить0
TokenStorm
· 07-07 23:25
Дядя LINK, чем раньше купишь, тем больше заработаешь.
Посмотреть ОригиналОтветить0
CommunitySlacker
· 07-06 05:58
link на всю жизнь
Посмотреть ОригиналОтветить0
SatoshiChallenger
· 07-06 05:45
Данные показывают, что 95% Машина Oracle погибли на полпути.
Посмотреть ОригиналОтветить0
airdrop_whisperer
· 07-06 05:41
Linkссылка万物!
Посмотреть ОригиналОтветить0
InscriptionGriller
· 07-06 05:35
Внешние данные для цен также являются новой уловкой для лохов!
Chainlink Машина Oracle: Блокчейн мир и реальный мир мост
Машина Oracle технологии Глубина анализа
Машина Oracle является ключевой инфраструктурой в экосистеме блокчейна, её основная функция заключается в предоставлении внешних данных для смарт-контрактов. Будучи промежуточным программным обеспечением, соединяющим смарт-контракты на цепи и реальный мир вне цепи, машина Oracle играет жизненно важную роль.
Умный контракт в сети Ethereum, если ему нужно получить данные о объемах торговли нефтью за определенный день, не может напрямую получить такую информацию из реального мира, находящуюся вне сети. В этом случае необходимо использовать Машину Oracle для передачи данных. Конкретный процесс таков: умный контракт сначала записывает объем торговли нефтью за нужную дату в журнал событий, затем вне сети запускается процесс для мониторинга этого журнала событий. Когда запрос обнаруживается, этот процесс отправляет транзакцию в сеть, вызывает соответствующий метод контракта и загружает данные о объемах торговли нефтью за указанную дату в умный контракт.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Среди множества проектов Машина Oracle, Chainlink занимает наибольшую долю рынка. Как децентрализованная сеть Машина Oracle, Chainlink стремится предоставлять блокчейнам данные из реального мира самым безопасным способом. На основе основных принципов Машины Oracle она построила здоровую экосистему, основанную на экономических стимулов вокруг токена LINK.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Для активации машины Oracle Chainlink необходимо осуществить перевод токенов LINK. LINK является токеном контракта ERC677 в сети Ethereum, и функция машины Oracle, основанная на LINK, относится к модели запрос/ответ.
Стандарт ERC677 добавляет метод transferAndCall на основе ERC20, объединяя платежи и запросы на услуги, лучше удовлетворяя потребности бизнес-сценариев Машины Oracle. Когда пользователь вызывает transferAndCall для перевода, помимо стандартного перевода ERC20, также проверяется, является ли адрес получателя адресом контракта; если это так, вызывается метод onTokenTransfer этого адреса.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Перед запросом услуги Машины Oracle пользователю необходимо сначала подтвердить её надежность, так как за услуги Машины Oracle необходимо сначала оплатить. Надежность Машины Oracle можно разделить по нескольким измерениям.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Когда потребители Машины Oracle используют метод transferAndCall для оплаты и запроса услуг, метод onTokenTransfer в контракте Oracle выполняет ряд проверок безопасности, включая проверку, является ли передаваемый токен LINK, превышает ли длина data допустимый предел, правильен ли селектор функции и т.д. После успешной проверки вызывается метод oracleRequest текущего контракта oracle через deleGatecall.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
Метод oracleRequest создаст уникальный requestId, установит время истечения и добавит соответствующую информацию в отображение commitments. Самое важное, что он вызовет событие OracleRequest, содержащее данные запроса. Эти данные закодированы в формате CBOR и могут содержать информацию в различных формах.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
Внецепочные узлы будут слушать событие OracleRequest. Когда обнаружен новый запрос, узел будет извлекать конкретную информацию, получать необходимые данные через API-вызов, а затем отправлять транзакцию, вызывая метод fulfillOracleRequest контракта Oracle, чтобы загрузить данные в цепь.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Метод fulfillOracleRequest выполняет ряд проверок, включая авторизацию вызывающего, действительность requestId и т.д. После успешной проверки, сумма запроса добавляется к доступной для вывода сумме, requestId удаляется из отображения commitments, и вызывается функция обратного вызова контракта запрашивающего.
! Chainlink (часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(
Функция обратного вызова будет проводить дальнейшую проверку, а затем обрабатывать возвращенные данные. Для ценовой Машины Oracle обычно обновляется текущая цена.
Помимо этого общего процесса Машины Oracle, Chainlink также предоставляет более простой интерфейс ценовой Машины Oracle. Каждый торговый пара имеет отдельный Price Feed)Aggregator(, разработчики могут напрямую вызывать его метод latestRoundData)( для получения последней цены, не нужно самостоятельно указывать адрес API и другую информацию.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-06e79466fe62a401c6140e09e5bd5401.webp(
В целом, Машина Oracle выступает в роли моста между миром блокчейна и реальным миром, играя незаменимую роль в децентрализованных приложениях. Chainlink стал наиболее широко используемым решением для Машин Oracle благодаря тщательно продуманным механизмам стимулирования и безопасности.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-18b532367de58ac14b8dd9b49fcea0e0.webp(