Конкурс поставщиков HTTP-уведомлений
Всем привет друзья! "Не перевелись еще программисты на Руси?" Готовы ли они взяться за еще одну интересную задачу? Free TON анонсировал конкурс на разработку и внедрение модуля HTTP-уведомлений для внешних приложений и сервисов. Этот модуль должен иметь возможность отправлять уведомления по протоколу HTTP
Даты конкурса
15 September 2021 - 15 October 2021 23:59 UTC
Общая архитектура
Чтобы обеспечить анонимность пользователей блокчейна, было сделано разделение между данными блокчейна и адресами получателей этих данных. Для этого введены следующие модули:
Поставщик очереди - знает, что отправлять (сами данные). У него нет информации о реальном адресе получателя. Это позволяет пользователю настроить источник события на основе следующих параметров: «Адрес учетной записи» и его типы сообщений: внутренний / внешний вход / внешний выход
Поставщик очереди пересылает подготовленные и зашифрованные сообщения поставщику уведомлений. Каждое сообщение содержит ключ, по которому поставщик уведомлений может сопоставить соответствующего получателя.
Поставщики уведомлений - знают, куда отправлять (реальный адрес получателя, такой как IP и порт, электронная почта, APN ID, FCM ID и т. Д.). У него нет информации о данных. Он получает и отправляет данные в зашифрованном виде
Возможно наличие нескольких типов поставщиков уведомлений в зависимости от типа получателя и транспорта (браузер, http-сервер, смартфоны, электронная почта и т. Д.)
Модуль HTTP-уведомлений отправляет зарегистрированному потребителю http-запросы с событиями блокчейна
Модуль Http Notification предоставляет пользователям возможность настраивать себя через REST API
Возможными потребителями модуля HTTP-уведомлений являются интернет-магазины, внешние веб-сервисы, боты для телеграмм, вконтакте и любые сервисы с подключением к Интернету и внешним доступом из Интернета. Это означает, что в требования потребителя входит наличие http-сервера для получения push-уведомлений
Основные требования:
1. Доступность методов HTTP API
1.1. Добавить уникальный идентификатор и параметры уведомления во внутреннюю базу данных
1.2. Получить конфигурацию - необязательно
1.2.1. Информация о модуле (название, описание, логотип, адрес серфинга - чтобы иметь возможность обращаться за поддержкой к разработчикам сервисов)
1.2.2. Получить структурные входные параметры для текущего модуля
2. Все методы HTTP API должны возвращать ответ 200, если запрошенная операция выполнена успешно, и соответствующий код ошибки HTTP в противном случае
3. Для проверки работы модуля должен быть предоставлен http-сервер с некоторым пользовательским интерфейсом (бот для телеграмм, веб-страница и т. д.)
Требования к модулю HTTP-уведомлений:- Гарантированная доставка уведомлений в течение N раз (например, 1-24 часа) и повторная доставка уведомлений, если адрес доставки недоступен
- Поддержка протокола HTTPS
- При добавлении нового URL-адреса проверка возможности управления доменом, веб-сайтом или конкретным URL-адресом должна выполняться лицом, запрашивающим отправку уведомлений на этот адрес
- Логирование событий http-уведомлений для возможности отображения их в графиках
- Наличие документации с примерами использования
- Инструкции по компиляции, сборке, развертыванию, запуску и тестированию с предварительными условиями
Параметры для модуля HTTP:
- URL (строка начинается с https: //)
- Метод (GET, PUT, POST,…) (необязательный параметр, по умолчанию POST)
- Запрос (строка параметра), необязательный параметр, по умолчанию это «param»
- API поставщика очереди
- API поставщика очереди, который можно использовать для получения потока событий блокчейна, описан в следующем документе: https://tonlabs.notion.site/Notifica...0208b9a908c773
Критерии оценки- Качество описания документации для модуля
- Легко настроить и смоделировать
- Работает в соответствии с техническим заданием и заявленными функциями
- Кроссплатформенность
- Исходный код (открытый исходный код, лицензия свободного программного обеспечения)
- Помимо загрузки заявки, необходимо отправить код в соответствии с https://github.com/freeton-org/readme
Reward & Vesting
1st place - 100’000 TONs
2nd place - 75’000 TONs
3rd place - 50’000 TONs
4rd place - 40’000 TONs
5rd place - 30’000 TONs
6rd place - 20’000 TONs
7rd place - 10’000 TONs
8rd place - 5’000 TONs
9rd place - 3’000 TONs
10rd place - 1’000 TONs
Награды до 10К будут выплачены по окончании конкурса. Вознаграждения свыше 10К будут выплачиваться следующим образом: половина - в конце конкурса, а половина - равными частями в течение 12 месяцев. Условия получения вестинга следующие:
- На вопросы Github следует ответить в течение 24 часов
- Критические неисправности модуля должны быть устранены в течение 3 дней
- В случае изменений API поставщика очереди или других изменений блокчейна, код необходимо обновить не позднее, чем в течение 1 месяца после изменения
- Все остальные адекватные вопросы должны быть решены в течение одного месяца
Landing page —
https://http.freeton.today/
Официальная новость —
https://forum.freeton.org/t/notifica...vice-1/11514/3
Чат разработчиков —
https://t.me/freeton_dev_exp
Введение во FREE TON (краткий курс) —
https://freeton.academy/courses/intr...o-free-ton-ru/
Coingecko -
https://www.coingecko.com/ru/Криптовалюты/ton-crystal