1 ВВЕДЕНИЕ 3
1 ОБЗОР ЛИТЕРАТУРЫ
1.1 Выводы 10
2 ПРОЕКТИРОВАНИЕ РЕШЕНИЯ 11
2.1 Описание системы 12
2.2 Требования к проекту 15
2.3 Архитектура 16
3 РЕАЛИЗАЦИЯ РЕШЕНИЯ 19
3.1 Схема данных 19
3.2 Серверная часть 20
3.3 Веб интерфейс 21
3.4 Blockchain 24
3.4.1 Web3 24
3.4.2 Умные контракты 26
3.5 Выводы 28
4 ЗАКЛЮЧЕНИЕ 29
4.1 Итоги 29
4.2 Результаты 29
4.3 Проблемы 30
4.4 Планы на будущее
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 31
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 36
В последнее время во всем мире все больше и больше растет интерес к IT хакатонам. Волна этой популярности дошла и до России, и если раньше такие соревнования были большой редкостью, то сейчас почти каждый день проводятся подобные мероприятия [1].
Само по себе слово "хакатон" - это термин, который получился от соединения двух слов: хакер и марафон. На сегодняшний день хакатоны уже не имеют отношения к хакерству, это просто марафон программистов, где самые разные команды, программисты и специалисты из самых разных областей разработки программного обеспечения вместе работают над решением одной из проблем. Обычно данное мероприятие проходит от одного до трех дней. Проведение хакатона - это хороший способ привлечь талантливых специалистов, придумать и реализовать новые способы решения существующих проблем. Если вы решили организовать хакатон, то вам необходимо пройти немало этапов подготовки и потратить на это много сил и денег, что порождает проблему организации данного соревнования. Во-первых, надо подготовить и арендовать площадку для сбора участников. Во-вторых, нужно привлечь инвестиции для призовых фондов. И, наконец, в-третьих, надо привлечь как можно большую аудиторию, то есть сделать так, чтобы люди узнали о данном мероприятии, иначе просто никто не придет.
А для чего программисты участвуют в хакатонах? Как правило, многие хотят продвигать свои идеи и проекты, привлечь инвестиции или просто побороться за призовой фонд. Но что если вы находитесь в другом городе, но очень сильно хотите принять участие в хакатоне? Сейчас, скорее всего, вам придется купить билет на поезд или самолет и отправиться в другой город.
Децентрализованная площадка для проведение онлайн хакатонов на основе технологии блокчейн - это та система, которая поможет сделать шаг вперед в проведении соревнований подобного рода. Единая площадка для проведения соревнований также откроет новые возможности для участников. Она позволит:
• Проводить онлайн-соревнования
• Экономить деньги на организацию и проведение
• Объединять участников по всему миру
• Создать доверие между организаторами, инвесторами и участниками
• Привлекать инвестиции для победителей соревнований
При этом такая система обязательно должна соответствовать следующим условиям:
• Прозрачность данных. В каждый момент времени любой участник должен иметь доступ к исходным данным, чтобы убедиться в их истинности.
• Автоматизация процессов. Система должна работать по математическим алгоритмам без посредников, чтобы исключить или сократить до минимума человеческий фактор.
• Независимость. Не принадлежать какой-либо компании для сохранения объективности.
Всем этим условиям отвечает блокчейн-технология, с помощью которой будет создаваться дипломный проект.
Целью работы является разработка децентрализованной системы для проведения онлайн хакатонов на базе блокчейна Ethereum, которая позволит упростить процесс организации мероприятий, объединить участников по всему миру.
Для достижения поставленной цели, необходимо решить следующие задачи:
1. Проанализировать существующие решения, выявить их преимущества и недостатки
2. Написать техническое задание для разработки системы
3. Спроектировать архитектуру системы, определить технологии разработки
4. Разработать структуры базы данных, написать back-end часть приложения
5. Разработка клиентского приложения
6. Провести экспериментальную апробацию системы