Author

Topic: Конкурс поставщиков HTTP-уведомлений (Read 39 times)

legendary
Activity: 3640
Merit: 1209

 

Конкурс на разработку и внедрение модуля HTTP-уведомлений для внешних приложений и сервисов. Этот модуль должен иметь возможность отправлять уведомления по протоколу HTTP.

Мотивация
Владельцам Free TON необходим модуль, обеспечивающий передачу уведомлений по протоколу HTTP для интерактивных приложений, интернет-магазинов, IOT и других потребителей. При этом должна быть обеспечена анонимность пользователей блокчейна.

Сроки
Срок подачи заявок: 15 сентября 2021 г. - 15 октября 2021 г. 23:59 UTC

Срок голосования (оценки): 15 дней

Общая архитектура

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

Поставщик очереди - знает, что отправлять (сами данные). У него нет информации о реальном адресе получателя. Это позволяет пользователю настроить источник события на основе следующих параметров: «Адрес учетной записи» и его типы сообщений: внутренний / внешний вход / внешний выход.
Поставщик очереди пересылает подготовленные и зашифрованные сообщения поставщику уведомлений. Каждое сообщение содержит ключ, по которому поставщик уведомлений может сопоставить соответствующего получателя.

Поставщики уведомлений - знают, куда отправлять (реальный адрес получателя, такой как IP и порт, электронная почта, APN ID, FCM ID и т. Д.). У него нет информации о данных. Он получает и отправляет данные в зашифрованном виде.
Возможно наличие нескольких типов поставщиков уведомлений в зависимости от типа получателя и транспорта (браузер, http-сервер, смартфоны, электронная почта и т. Д.).

Этот конкурс посвящен модулю провайдера HTTP-уведомлений или, вкратце, модулю HTTP-уведомлений.

Модуль HTTP-уведомлений отправляет зарегистрированному потребителю http-запросы с событиями блокчейна.

Модуль Http Notification предоставляет пользователям возможность настраивать себя через REST API.

Возможными потребителями модуля HTTP-уведомлений являются интернет-магазины, внешние веб-сервисы, боты для телеграмм, вконтакте и любые сервисы с подключением к Интернету и внешним доступом из Интернета. Это означает, что в требования потребителя входит наличие http-сервера для получения push-уведомлений.

Основные требования:
Доступность методов HTTP API.
1.1. Добавить уникальный идентификатор и параметры уведомления во внутреннюю базу данных
1.2. Получить конфигурацию - необязательно
1.2.1. Информация о модуле (название, описание, логотип, адрес серфинга - чтобы иметь возможность обращаться за поддержкой к разработчикам сервисов).
1.2.2. Получить структурные входные параметры для текущего модуля.
Все методы HTTP API должны возвращать ответ 200, если запрошенная операция выполнена успешно, и соответствующий код ошибки HTTP в противном случае.
Для проверки работы модуля должен быть предоставлен http-сервер с некоторым пользовательским интерфейсом (бот для телеграмм, веб-страница и т. д.)

Требования к модулю HTTP-уведомлений:

Гарантированная доставка уведомлений в течение N раз (например, 1-24 часа) и повторная доставка уведомлений, если адрес доставки недоступен.
Поддержка протокола HTTPS
При добавлении нового URL-адреса проверка возможности управления доменом, веб-сайтом или конкретным URL-адресом должна выполняться лицом, запрашивающим отправку уведомлений на этот адрес.
Логирование событий http-уведомлений для возможности отображения их в графиках
Наличие документации с примерами использования.
Инструкции по компиляции, сборке, развертыванию, запуску и тестированию с предварительными условиями.
Параметры для модуля HTTP:
• URL (строка начинается с https: //)
• Метод (GET, PUT, POST,…) (необязательный параметр, по умолчанию POST)
• Запрос (строка параметра), необязательный параметр, по умолчанию это «param»

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

Критерии оценки

Соответствие техническим требованиям, указанным в данном описании конкурса.
Качество описания документации для модуля.
Легко настроить и смоделировать.
Работает в соответствии с техническим заданием и заявленными функциями.
Кроссплатформенность.
Исходный код (открытый исходный код, лицензия свободного программного обеспечения).
Помимо загрузки заявки, необходимо отправить код в соответствии с GitHub - freeton-org / readme .

Награда и вестинг

1 место - :100'000 ТОНН
2 место - ::75'000 ТОНН
3 место - ::50'000 ТОНН
4 место - ::40'000 ТОНН
5 место - : :30'000 ТОНН
6 место - ::20'000 ТОНН
7 место - : :10'000 ТОНН
8 место - ::5'000 ТОНН
9 место - ::3000 ТОНН
10 место - ::1'000 ТОНН

Награды до 10К будут выплачены по окончании конкурса. Вознаграждения свыше 10К будут выплачиваться следующим образом: половина - в конце конкурса, а половина - равными частями в течение 12 месяцев (переход). Условия получения наделения следующие:

На вопросы Github следует ответить в течение 24 часов.
Критические неисправности модуля должны быть устранены в течение 3 дней.
В случае изменений API поставщика очереди или других изменений блокчейна, код необходимо обновить не позднее, чем в течение 1 месяца после изменения.
Все остальные адекватные вопросы должны быть решены в течение одного месяца.
 


 

Landing Page...https://http.freeton.today/

Читать полностью...https://forum.freeton.org/t/notification-service-1/11514/2
Jump to: