Запуск узла Oracle RedStone с помощью Docker

Узлы Oracle играют ключевую роль в блокчейне и экосистеме децентрализованных приложений (dApp), предоставляя доступ к внешним данным. RedStone — это проект, который занимается разработкой узлов Oracle с использованием технологии Docker, что делает их доступными и удобными для развертывания. В этой статье мы рассмотрим шаги по запуску узла оракула RedStone с помощью Docker.

Требования:

Прежде чем мы углубимся, давайте убедимся, что у вас есть все необходимое:

  1. Адекватные ресурсы. Для эффективной работы узла RedStone требуется определенное количество вычислительных ресурсов.
  2. Установлен Docker: вы будете запускать узел oracle в контейнере Docker, поэтому убедитесь, что Docker установлен в вашей системе.
  3. Конфигурация узла: узел оракула RedStone следует настроить с использованием переменных среды. Для удобства их можно установить в локальном файле .env.

Конфигурация быстрого запуска:

Чтобы помочь вам быстро начать работу, RedStone предоставляет простой файл .env и сценарий bash. Вы можете найти их здесь".

Запуск из исходного кода против Docker:

Хотя узел оракула RedStone можно запустить с использованием исходного кода, мы настоятельно рекомендуем использовать Docker. RedStone постоянно создает и развертывает код из своего репозитория GitHub, устраняя необходимость в полноценной среде разработки.

Доступность данных:

Данные, опубликованные вашим узлом RedStone, могут быть доступны потребителям во всех поддерживаемых сетях блокчейнов. Чтобы узнать больше об архитектуре RedStone Oracles, посетите здесь.

Запуск узла локально:

  1. Проверка ресурсов: убедитесь, что ваша система соответствует требованиям к ресурсам, изложенным в официальной документации.
  2. Установка Docker: установите Docker, поскольку вы будете запускать узел oracle в контейнере Docker.
  3. Конфигурация узла: настройте узел оракула RedStone, используя переменные среды. Эти переменные можно задать любым удобным для вас способом, например, с помощью локального файла .env.

Дополнительные переменные среды:

Ознакомьтесь с основными переменными среды, необходимыми для запуска узла, в таблице ниже. Полный список, включая необязательные переменные, можно найти в этом файле.

  • ECDSA_PRIVATE_KEY: ваш закрытый ключ ECDSA.
  • OVERRIDE_DIRECT_CACHE_SERVICE_URLS: URL-адреса шлюзов к уровню распределения данных RedStone (DDL).
  • OVERRIDE_MANIFEST_USING_FILE: путь к файлу манифеста.
  • LEVEL_DB_LOCATION: путь к базе данных LevelDB для хранения недавно полученных значений.

Запускаем с помощью Docker:

  1. Переменные среды: убедитесь, что переменные среды правильно установлены в файле .env.
  2. Выполнение команды: запустите узел оракула RedStone с помощью предоставленной команды Docker.

Теги изображений Docker:

У каждого образа Docker есть тег, идентифицирующий версию исходного кода. Этот тег, обычно короткий хеш фиксации из монорепозитория RedStone, позволяет быстро идентифицировать версию исходного кода, используемую в данном образе Docker.

Пользовательский локальный манифест:

Если вы хотите запустить узел oracle с пользовательским манифестом, вы можете сделать это, смонтировав файл манифеста из вашей локальной системы в контейнер Docker и соответствующим образом обновив переменную среды OVERRIDE_MANIFEST_USING_FILE.

Запуск производственного узла:

Для запуска производственного узла обратитесь к команде RedStone за советом и проверкой в ​​качестве внешних поставщиков данных. Они предоставят необходимую поддержку и инструкции.

Информация:

Процесс регистрации поставщиков данных в настоящее время выполняется вручную, но в будущем может быть автоматизирован. Ваш адрес Ethereum и открытый ключ будут добавлены в реестр поставщиков данных. Также будут предоставлены персональные частные шлюзы к уровню распределения данных RedStone (DDL).

Разверните свой узел:

После того как вы добавлены в реестр поставщиков данных и получили URL-адреса частного шлюза, вы можете развернуть узел oracle с помощью Docker на предпочитаемом вами сервере или облачном провайдере. Убедитесь, что вы следуете рекомендациям по работе узлов в производственной среде.