Урок 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.