Детальная информация

Название: Разработка сервиса для покупки и продажи видеоконтента на основе технологии блокчейн: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_02 «Основы анализа и разработки приложений с большими объемами распределенных данных»
Авторы: Усов Михаил Алексеевич
Научный руководитель: Воинов Никита Владимирович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2023
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: веб-сайт; блокчейн технологии; разработка; сети и телекоммуникации; javascript; приложение; облачные технологии; хостинг; дизайн; подход; базы данных; docker; react; postgress; solidity; nginx; website; blockchain technology; development; networks and telecommunications; app; cloud technologies; hosting; design; approach; databases
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.04
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-3916
Права доступа: Доступ по паролю из сети Интернет (чтение)
Ключ записи: ru\spstu\vkr\25046

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

В данной выпускной квалификационной работе будет разрабатываться инфраструктура для будущего большого проекта, который я планирую развивать далее. Сам проект будет выполнять роль гаранта между покупкой и продажей лицензий на видеоконтент с помощью блокчейн технологий. Сервис будет состоять из большого количества независимых компонентов. Любой современный сервис начинается с веб-сайта, поэтому я выбрал библиотеку React для создания своего пользовательского интерфейса, потому что на данный момент эта библиотека самая популярная, и как оказалось очень простая в изучении и поднятия новых проектов. Так как сервис будет принимать и отдавать данные, то ему потребуется сервер, который будет общаться с базой данных и выполнять сложные операции. Я выбрал Node JS – программную платформу на движке V8, платформа подходит для быстрого написания API для сервиса на языке JavaScript. Для хранения данных я выбрал объектно-реляционную систему управления базами данных PostgreSQL, с помощью нее очень удобно хранить данные. А также для автоматизированного управления денежными средствами в виде гарантов я буду использовать блокчейн технологии на основе Ethereum. Чтобы взаимодействовать с самой блокчейн цепочкой надо написать специальные программы – смарт-контракты, их я буду писать на специальном языке Solidity. Любой сложный сервис в конечном счете надо будет выпускать в глобальный интернет, в этом мне помогут облачные технологии в виде Docker’a и арендованной виртуальной машины в Yandex Cloud. В итоге мой сервис будет запущен в виртуальной машине Yandex Cloud’a, в котором будут мои образы множественных контейнеров из Docker, общением и выдачей сетей наружу будет управлять NGINX, сайт, который обращается к API сервера, на стороне сервера будут создаваться смарт-контракты и отправляться запросы в базу данных.

In this final qualifying work, the infrastructure for the future large project, which I plan to develop further, will be developed. The project itself will act as a guarantor between the purchase and sale of film content licenses using blockchain technology. The service will consist of many independent components. Any modern service starts with a website, so I chose the React library to create my user interface, because now this library is the most popular, and as it turned out to be very easy to learn and raise new projects. Since the service will receive and return data, it will need a server that will communicate with the database and perform complex operations. I chose Node JS, a software platform based on the V8 engine, the platform is suitable for quickly writing an API for a service in JavaScript. For data storage, I chose the PostgreSQL object-relational database management system, it is very convenient to store data with it. And, for the automated management of funds in the form of guarantors, I will use blockchain technology based on Ethereum. To interact with the blockchain itself, you need to write special programs - smart contracts, I will write them in a special Solidity language. Any complex service will eventually need to be released to the global Internet, cloud technologies in the form of Docker and a rented virtual machine in Yandex Cloud will help me with this. As a result, my service will be launched in the Yandex Cloud virtual machine, in which there will be my images of multiple containers from Docker, NGINX will manage communication and distribution of networks to the outside, a site that accesses the server API, smart contracts will be created on the server side and send queries to the database.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать
Интернет Авторизованные пользователи СПбПУ Прочитать
-> Интернет Анонимные пользователи

Оглавление

  • СПИСОК ИЛЛЮСТРАЦИЙ
  • СПИСОК СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • ГЛАВА 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1 Описание работы веб-сайтов
    • 1.2 Выделение достоинств и недостатков каждой системы
    • 1.3 Выявление общих достоинств и недостатков
    • 1.4 Формулирование требований к проектируемой системе
    • 1.5 Обзор блокчейн технологий
    • 1.6 Про Биткоин
    • 1.7 Зачем нужны биткоины
    • 1.8 Главная инновация биткоина
    • 1.9 Как менялась цена биткоина
    • 1.10 Как добывается биткоин
    • 1.11 Выводы
  • ГЛАВА 2 АРХИТЕКТУРА ПРОЕКТА
    • 2.1 Описание общей модели проекта
    • 2.2 React
    • 2.3 Node JS
    • 2.4 PostgreSQL
      • 2.4.1 Для чего нужна PostgreSQL?
      • 2.4.2 Преимущества PostgreSQL
    • 2.5 Etherium - Solidity
      • 2.5.1 Вступление в блокчейн
      • 2.5.2 В чем разница между Ethereum и биткоином?
      • 2.5.3 Представляем эфир — криптовалюту Ethereum
      • 2.5.4 Что такое смарт контракты?
      • 2.5.5 Что насчет энергопотребления Ethereum?
      • 2.5.6 Провайдеры для Etherium
    • 2.6 Docker
      • 2.6.1 Для чего использовать Docker?
        • 2.6.1.1 Более простое выкладывание и разворачивание
        • 2.6.1.3 Высокие нагрузки и больше полезных нагрузок
      • 2.6.2 Главные компоненты Docker
      • 2.6.3 Архитектура Docker
        • 2.6.3.1 Docker-демон
        • 2.6.3.2 Docker-клиент
        • 2.6.3.3 Образы
        • 2.6.3.4 Реестр
        • 2.6.3.5 Контейнеры
    • 2.7 Nginx
      • 2.7.1 Особенности Nginx
      • 2.7.2 Как работает Nginx
    • 2.8 Выводы
  • ГЛАВА 3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
    • 3.1 Веб-сайт
    • 3.2 Сервер
    • 3.3 Web3 - Blockchain
    • 3.4 Docker
    • 3.5 Yandex Cloud
    • 3.6 Выводы
  • ГЛАВА 4 РЕЗУЛЬТАТЫ
    • 4.1 Регистрация – Авторизация
    • 4.2 Главные вкладки
    • 4.3 Создание и просмотр контента
    • 4.4 Для разработчиков
    • 4.5 Лицензии
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ЛИТЕРАТУРЫ

Статистика использования

stat Количество обращений: 5
За последние 30 дней: 0
Подробная статистика