Машина Oracle система играет ключевую роль в Блокчейн технологии
Машина Oracle является важной инфраструктурой в области Блокчейн, она может предоставлять внешнюю информацию для смарт-контрактов на цепи. В качестве промежуточного программного обеспечения, соединяющего смарт-контракты и мир вне цепи, Машина Oracle играет незаменимую роль в экосистеме Блокчейн, её основная функция заключается в предоставлении необходимых внешних данных для смарт-контрактов.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Например, если мы развернем смарт-контракт на Эфириуме, который требует получения данных о объеме торговли нефтью за определенную дату. Поскольку смарт-контракт сам по себе не может напрямую получать данные о реальном мире вне цепи, в этом случае необходимо использовать Машину Oracle для реализации этой функции. Конкретный процесс выглядит следующим образом: смарт-контракт будет записывать объем торговли нефтью за нужную дату в журнал событий, затем вне цепи будет запущен процесс для мониторинга этого журнала событий. Когда будет обнаружен соответствующий запрос, этот процесс вызовет соответствующий метод контракта, отправив транзакцию в цепи, и передаст информацию о объеме торговли нефтью за указанную дату в смарт-контракт.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Среди множества проектов Машин Oracle, Chainlink занимает крупнейшую долю рынка. Chainlink — это децентрализованная сеть Машин Oracle, созданная для обеспечения блокчейнов данными из реального мира самым безопасным и надежным способом. Кроме реализации основных функций Машин Oracle, Chainlink также построила экосистему вокруг токена LINK, которая формирует благоприятный цикл через экономические стимулы. В сети Chainlink услуги Машин Oracle необходимо активировать путем передачи токенов 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 в блокчейне, когда потребитель предсказателя использует метод transferAndCall для оплаты и запроса услуги, метод onTokenTransfer контракта предсказателя сначала выполняет серию проверок безопасности, включая верификацию того, что передача является токеном LINK, проверку соответствия длины запроса, верификацию селектора функции и т.д. Только после этих проверок будет выполнен вызов метода 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)
Внешний узел при обработке запроса вызовет метод fulfillOracleRequest. Этот метод сначала выполнит серию проверок, включая проверку прав вызывающего, проверку действительности запроса и так далее. После успешной проверки будет обновлено количество доступных для извлечения токенов, удалена соответствующая запись о commitment, и в конце будет вызвана функция обратного вызова контракта запрашивающей стороны.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp)
Для разработчиков, если вам нужно использовать только существующие данные о ценах валютных пар, вы можете напрямую вызвать интерфейс Price Feed, предоставляемый Chainlink. У каждой валютной пары есть отдельный Price Feed (, также называемый Aggregator ), который на самом деле является контрактом AggregatorProxy. Эти интерфейсы предоставляют функции для получения точности цен, описания, номера версии и последних данных о ценах. В большинстве случаев контракт может просто читать последнюю цену, вызвав метод latestRoundData (). Стоит отметить, что валютные пары, оцениваемые в долларах, обычно используют единообразную точность в 8 знаков, что упрощает обработку точности между различными токенами.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp)
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
9 Лайков
Награда
9
5
Поделиться
комментарий
0/400
0xSherlock
· 07-18 14:15
link все еще нужно продолжать развивать
Посмотреть ОригиналОтветить0
LightningPacketLoss
· 07-16 16:18
Может ли цена LINK стать лучше?
Посмотреть ОригиналОтветить0
PumpingCroissant
· 07-16 03:42
link немного требует Газ
Посмотреть ОригиналОтветить0
GweiWatcher
· 07-16 03:30
Какова связь между link и этим скачком цен?
Посмотреть ОригиналОтветить0
WhaleSurfer
· 07-16 03:24
LINK корова, цену белой проституции еще можно заработать
Машина Oracle система: Блокчейн и ключевой мост между реальным миром
Машина Oracle система играет ключевую роль в Блокчейн технологии
Машина Oracle является важной инфраструктурой в области Блокчейн, она может предоставлять внешнюю информацию для смарт-контрактов на цепи. В качестве промежуточного программного обеспечения, соединяющего смарт-контракты и мир вне цепи, Машина Oracle играет незаменимую роль в экосистеме Блокчейн, её основная функция заключается в предоставлении необходимых внешних данных для смарт-контрактов.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Например, если мы развернем смарт-контракт на Эфириуме, который требует получения данных о объеме торговли нефтью за определенную дату. Поскольку смарт-контракт сам по себе не может напрямую получать данные о реальном мире вне цепи, в этом случае необходимо использовать Машину Oracle для реализации этой функции. Конкретный процесс выглядит следующим образом: смарт-контракт будет записывать объем торговли нефтью за нужную дату в журнал событий, затем вне цепи будет запущен процесс для мониторинга этого журнала событий. Когда будет обнаружен соответствующий запрос, этот процесс вызовет соответствующий метод контракта, отправив транзакцию в цепи, и передаст информацию о объеме торговли нефтью за указанную дату в смарт-контракт.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Среди множества проектов Машин Oracle, Chainlink занимает крупнейшую долю рынка. Chainlink — это децентрализованная сеть Машин Oracle, созданная для обеспечения блокчейнов данными из реального мира самым безопасным и надежным способом. Кроме реализации основных функций Машин Oracle, Chainlink также построила экосистему вокруг токена LINK, которая формирует благоприятный цикл через экономические стимулы. В сети Chainlink услуги Машин Oracle необходимо активировать путем передачи токенов 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 в блокчейне, когда потребитель предсказателя использует метод transferAndCall для оплаты и запроса услуги, метод onTokenTransfer контракта предсказателя сначала выполняет серию проверок безопасности, включая верификацию того, что передача является токеном LINK, проверку соответствия длины запроса, верификацию селектора функции и т.д. Только после этих проверок будет выполнен вызов метода 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)
Внешний узел при обработке запроса вызовет метод fulfillOracleRequest. Этот метод сначала выполнит серию проверок, включая проверку прав вызывающего, проверку действительности запроса и так далее. После успешной проверки будет обновлено количество доступных для извлечения токенов, удалена соответствующая запись о commitment, и в конце будет вызвана функция обратного вызова контракта запрашивающей стороны.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp)
Для разработчиков, если вам нужно использовать только существующие данные о ценах валютных пар, вы можете напрямую вызвать интерфейс Price Feed, предоставляемый Chainlink. У каждой валютной пары есть отдельный Price Feed (, также называемый Aggregator ), который на самом деле является контрактом AggregatorProxy. Эти интерфейсы предоставляют функции для получения точности цен, описания, номера версии и последних данных о ценах. В большинстве случаев контракт может просто читать последнюю цену, вызвав метод latestRoundData (). Стоит отметить, что валютные пары, оцениваемые в долларах, обычно используют единообразную точность в 8 знаков, что упрощает обработку точности между различными токенами.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp)