Bài học 4

Развертывание и тестирование в сети Goerli Testnet

В нашем путешествии по оракулам Ethereum мы достигли того момента, когда нам захотелось увидеть наш контракт в действии вне контролируемой среды нашей локальной системы разработки. Развертывание в тестовой сети позволяет нам взаимодействовать с нашим контрактом так же, как если бы он находился в основной сети Ethereum, но без сопутствующих затрат. В этом уроке мы пройдем процесс развертывания нашего oracle-интегрированного контракта в Goerli Testnet и протестируем его функциональность.

Подготовка: Приобретение эфира Testnet и настройка Вашей среды

Приобретение Testnet Ether

Для развертывания контрактов в Goerli Testnet Вам потребуется Goerli ETH (GoerliETH). Хотя он не имеет никакой реальной ценности, он необходим для оплаты газа в testnet.

  1. Метамаска: Убедитесь, что Ваша Metamask переключена на тестовую сеть Goerli.

  2. Подойдите к крану Goerli, чтобы запросить немного GoerliETH. Просто вставьте свой Ethereum-адрес Goerli Testnet, и вскоре Вы должны получить тестовый ETH.

Настройка Remix для развертывания Goerli Testnet

  1. В Remix перейдите на вкладку Deploy & Run Transactions.

  2. Для опции Environment выберите Injected Provider. Эта опция позволяет Remix подключаться к любой сети, на которую в данный момент настроена Ваша Metamask, которая должна быть Goerli Testnet.

  3. Убедитесь, что Ваш контракт, OracleIntegratedContract, выбран в выпадающем списке Contract.

  4. В раскрывающемся меню Счет Вы должны увидеть Ваш Ethereum-адрес Goerli Testnet.

Развертывание: Получение Вашего Oracle-интегрированного контракта в режиме реального времени на Goerli

Подготовка контракта к развертыванию

  1. Перед развертыванием Вам понадобится адрес ценового канала Chainlink в сети Goerli. В рамках данного примера мы будем использовать ценовой фид ETH/USD. Обычно Вы можете найти эти адреса в документации по Chainlink или изучив контракты Chainlink на таком сайте, как Etherscan. Проверьте здесь: Документация Testnet Oracles | Chainlink

  2. Скопируйте адрес Goerli Testnet той ценовой ленты Chainlink, которую Вы хотите использовать. В данном случае: 0xCC79157eb46F5624204f47AB42b3906cAA40eaB7

  3. Вернувшись в Remix, на вкладке Deploy & Run Transactions убедитесь, что Ваш контракт, OracleIntegratedContract, выбран в выпадающем списке Contract.

  4. Вставьте скопированный адрес в поле под кнопкой Deploy (именно здесь Вы указываете аргументы конструктора).

Инициирование развертывания

  1. После того, как адрес ценового фида будет заполнен, нажмите кнопку Развернуть.

  2. Metamask предложит Вам подтвердить транзакцию. Проверьте цену на газ и лимит газа, чтобы убедиться, что все выглядит в порядке, затем подтвердите транзакцию.

  3. После того, как транзакция будет добыта, Вы увидите в Remix журнал с деталями развертывания. Вы можете щелкнуть на адресе контракта, чтобы просмотреть его на Goerli Etherscan.

Тестирование ответов Oracle: Проверка взаимодействия контракта с Oracle

Теперь, когда контракт развернут, пришло время протестировать его функции.

  1. В разделе Развернутые контракты в Remix Вы должны увидеть Ваш OracleIntegratedContract.

  2. Раскройте детали развернутого контракта, чтобы увидеть доступные функции.

  3. Прежде чем совершать звонки, Вы должны задержать некоторое количество LINK на Вашем адресе Goerli Testnet, Вы можете запросить их здесь: https://faucets.chain.link/goerli.

  4. После получения, чтобы проверить баланс, Вы можете добавить LINK к Вашей Метамаске на Goerli. Найти здесь: https://docs.chain.link/resources/link-token-contracts
    Или Вы можете сделать это вручную, добавив адрес контракта, как показано ниже:

  5. Вызовите функцию getLatestEthPrice, щелкнув на ней. Она должна вернуть последнюю цену ETH в необработанном формате.

  6. Теперь вызовите функцию getFormattedEthPrice. Эта функция возвращает цену в более удобочитаемом формате.

  7. Наконец, вызовите функцию safeGetLatestEthPrice, чтобы убедиться в том, что проверка безопасности выборки данных выполнена.

Поздравляем! Вы успешно развернули и протестировали oracle-интегрированный контракт в Goerli Testnet. Этот реальный опыт бесценен, поскольку он еще на шаг приближает Вас к развертыванию в основной сети Ethereum. В следующем уроке мы рассмотрим лучшие практики и распространенные "подводные камни", которых следует остерегаться.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 4

Развертывание и тестирование в сети Goerli Testnet

В нашем путешествии по оракулам Ethereum мы достигли того момента, когда нам захотелось увидеть наш контракт в действии вне контролируемой среды нашей локальной системы разработки. Развертывание в тестовой сети позволяет нам взаимодействовать с нашим контрактом так же, как если бы он находился в основной сети Ethereum, но без сопутствующих затрат. В этом уроке мы пройдем процесс развертывания нашего oracle-интегрированного контракта в Goerli Testnet и протестируем его функциональность.

Подготовка: Приобретение эфира Testnet и настройка Вашей среды

Приобретение Testnet Ether

Для развертывания контрактов в Goerli Testnet Вам потребуется Goerli ETH (GoerliETH). Хотя он не имеет никакой реальной ценности, он необходим для оплаты газа в testnet.

  1. Метамаска: Убедитесь, что Ваша Metamask переключена на тестовую сеть Goerli.

  2. Подойдите к крану Goerli, чтобы запросить немного GoerliETH. Просто вставьте свой Ethereum-адрес Goerli Testnet, и вскоре Вы должны получить тестовый ETH.

Настройка Remix для развертывания Goerli Testnet

  1. В Remix перейдите на вкладку Deploy & Run Transactions.

  2. Для опции Environment выберите Injected Provider. Эта опция позволяет Remix подключаться к любой сети, на которую в данный момент настроена Ваша Metamask, которая должна быть Goerli Testnet.

  3. Убедитесь, что Ваш контракт, OracleIntegratedContract, выбран в выпадающем списке Contract.

  4. В раскрывающемся меню Счет Вы должны увидеть Ваш Ethereum-адрес Goerli Testnet.

Развертывание: Получение Вашего Oracle-интегрированного контракта в режиме реального времени на Goerli

Подготовка контракта к развертыванию

  1. Перед развертыванием Вам понадобится адрес ценового канала Chainlink в сети Goerli. В рамках данного примера мы будем использовать ценовой фид ETH/USD. Обычно Вы можете найти эти адреса в документации по Chainlink или изучив контракты Chainlink на таком сайте, как Etherscan. Проверьте здесь: Документация Testnet Oracles | Chainlink

  2. Скопируйте адрес Goerli Testnet той ценовой ленты Chainlink, которую Вы хотите использовать. В данном случае: 0xCC79157eb46F5624204f47AB42b3906cAA40eaB7

  3. Вернувшись в Remix, на вкладке Deploy & Run Transactions убедитесь, что Ваш контракт, OracleIntegratedContract, выбран в выпадающем списке Contract.

  4. Вставьте скопированный адрес в поле под кнопкой Deploy (именно здесь Вы указываете аргументы конструктора).

Инициирование развертывания

  1. После того, как адрес ценового фида будет заполнен, нажмите кнопку Развернуть.

  2. Metamask предложит Вам подтвердить транзакцию. Проверьте цену на газ и лимит газа, чтобы убедиться, что все выглядит в порядке, затем подтвердите транзакцию.

  3. После того, как транзакция будет добыта, Вы увидите в Remix журнал с деталями развертывания. Вы можете щелкнуть на адресе контракта, чтобы просмотреть его на Goerli Etherscan.

Тестирование ответов Oracle: Проверка взаимодействия контракта с Oracle

Теперь, когда контракт развернут, пришло время протестировать его функции.

  1. В разделе Развернутые контракты в Remix Вы должны увидеть Ваш OracleIntegratedContract.

  2. Раскройте детали развернутого контракта, чтобы увидеть доступные функции.

  3. Прежде чем совершать звонки, Вы должны задержать некоторое количество LINK на Вашем адресе Goerli Testnet, Вы можете запросить их здесь: https://faucets.chain.link/goerli.

  4. После получения, чтобы проверить баланс, Вы можете добавить LINK к Вашей Метамаске на Goerli. Найти здесь: https://docs.chain.link/resources/link-token-contracts
    Или Вы можете сделать это вручную, добавив адрес контракта, как показано ниже:

  5. Вызовите функцию getLatestEthPrice, щелкнув на ней. Она должна вернуть последнюю цену ETH в необработанном формате.

  6. Теперь вызовите функцию getFormattedEthPrice. Эта функция возвращает цену в более удобочитаемом формате.

  7. Наконец, вызовите функцию safeGetLatestEthPrice, чтобы убедиться в том, что проверка безопасности выборки данных выполнена.

Поздравляем! Вы успешно развернули и протестировали oracle-интегрированный контракт в Goerli Testnet. Этот реальный опыт бесценен, поскольку он еще на шаг приближает Вас к развертыванию в основной сети Ethereum. В следующем уроке мы рассмотрим лучшие практики и распространенные "подводные камни", которых следует остерегаться.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.