第2課

Настройка Remix для взаимодействия с Oracle

Для многих разработчиков Ethereum, Remix представляет собой универсальный магазин. Это мощный инструмент, который справляется со всем - от разработки смарт-контракта до его развертывания. В этом уроке мы настроим Remix на взаимодействие с оракулами, получая реальные данные для наших контрактов.

Конфигурирование Ремикса: Подготовка среды

Прежде чем Вы начнете, убедитесь, что в Вашем браузере открыт Remix IDE. Для получения наилучших впечатлений и совместимости используйте последнюю версию инструмента.

  1. Версия Solidity: Убедитесь, что Вы используете версию v0.8.21 Solidity. Вы можете указать это в начале Вашего смарт-контракта как:

    Solidity
    pragma solidity ^0.8.21;
    
  2. Выбор среды: На левой панели, на вкладке "Развернуть & Выполнять транзакции", убедитесь, что выбрана среда Injected provider. Это соединяет Remix с Вашей MetaMask, позволяя легко развертывать сеть Goerli testnet в последующих уроках.

Импорт библиотек Oracle: Использование уже существующих инструментов и библиотек

Chainlink, как крупный поставщик oracle, предлагает контракты Solidity, адаптированные для различных версий языка. Чтобы использовать их в Remix:

  1. В верхней части Вашего файла Solidity импортируйте необходимые контракты Chainlink. Для версии 0.8.x Ваш импорт может выглядеть примерно так:

    Solidity
    import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
    
  2. Если Remix предложит Вам импортировать файл с GitHub, согласитесь и продолжите. Это позволит автоматически получить необходимые файлы контрактов из репозитория Chainlink GitHub.

Подключение к внешним источникам данных: Как привлекать внешнюю информацию

Установив необходимые библиотеки, мы можем подключить наш контракт к внешнему источнику данных. Chainlink использует сеть узлов-оракулов для предоставления данных смарт-контрактам.

  1. Прайс-фиды: Контракты Price Feed компании Chainlink представляют собой справочные данные по цепочке. Чтобы использовать их, инстанцируйте ценовой фид в своем контракте, используя соответствующий адрес контракта (например, ценовой фид ETH/USD). Вот пример:

    Solidity
    AggregatorV3Interface internal priceFeed = AggregatorV3Interface(0xYourContractAddressHere);
    
  2. Пользовательские запросы данных: Chainlink также позволяет выполнять пользовательские запросы данных к любому внешнему API. Для этого требуется более сложная настройка, которую мы рассмотрим в следующем уроке.
    К этому моменту Ваша среда Remix должна быть готова к разработке смарт-контрактов с интеграцией в oracle. После выполнения этих шагов, в следующем уроке мы расскажем Вам о создании контракта, который использует и обрабатывает реальные данные.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第2課

Настройка Remix для взаимодействия с Oracle

Для многих разработчиков Ethereum, Remix представляет собой универсальный магазин. Это мощный инструмент, который справляется со всем - от разработки смарт-контракта до его развертывания. В этом уроке мы настроим Remix на взаимодействие с оракулами, получая реальные данные для наших контрактов.

Конфигурирование Ремикса: Подготовка среды

Прежде чем Вы начнете, убедитесь, что в Вашем браузере открыт Remix IDE. Для получения наилучших впечатлений и совместимости используйте последнюю версию инструмента.

  1. Версия Solidity: Убедитесь, что Вы используете версию v0.8.21 Solidity. Вы можете указать это в начале Вашего смарт-контракта как:

    Solidity
    pragma solidity ^0.8.21;
    
  2. Выбор среды: На левой панели, на вкладке "Развернуть & Выполнять транзакции", убедитесь, что выбрана среда Injected provider. Это соединяет Remix с Вашей MetaMask, позволяя легко развертывать сеть Goerli testnet в последующих уроках.

Импорт библиотек Oracle: Использование уже существующих инструментов и библиотек

Chainlink, как крупный поставщик oracle, предлагает контракты Solidity, адаптированные для различных версий языка. Чтобы использовать их в Remix:

  1. В верхней части Вашего файла Solidity импортируйте необходимые контракты Chainlink. Для версии 0.8.x Ваш импорт может выглядеть примерно так:

    Solidity
    import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
    
  2. Если Remix предложит Вам импортировать файл с GitHub, согласитесь и продолжите. Это позволит автоматически получить необходимые файлы контрактов из репозитория Chainlink GitHub.

Подключение к внешним источникам данных: Как привлекать внешнюю информацию

Установив необходимые библиотеки, мы можем подключить наш контракт к внешнему источнику данных. Chainlink использует сеть узлов-оракулов для предоставления данных смарт-контрактам.

  1. Прайс-фиды: Контракты Price Feed компании Chainlink представляют собой справочные данные по цепочке. Чтобы использовать их, инстанцируйте ценовой фид в своем контракте, используя соответствующий адрес контракта (например, ценовой фид ETH/USD). Вот пример:

    Solidity
    AggregatorV3Interface internal priceFeed = AggregatorV3Interface(0xYourContractAddressHere);
    
  2. Пользовательские запросы данных: Chainlink также позволяет выполнять пользовательские запросы данных к любому внешнему API. Для этого требуется более сложная настройка, которую мы рассмотрим в следующем уроке.
    К этому моменту Ваша среда Remix должна быть готова к разработке смарт-контрактов с интеграцией в oracle. После выполнения этих шагов, в следующем уроке мы расскажем Вам о создании контракта, который использует и обрабатывает реальные данные.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.