Сразу оговорюсь, что данная статья не сгенерирована средствами нейросети, и я, как автор, являюсь единственным идейным вдохновителем данного проекта. Любые попытки уличить меня в фальсификации будут расценены как политическое или конкурентное давление.
Что такое мессенджер
Существует отдельный вид программного обеспечения призванный решать задачи коммуникации между пользователями. Будь то простой обмен текстом или пересылка медиа данных особого значения не имеет. Каждое приложение решает определенный круг задач отличающий одно приложение от другого своим уровнем функциональности. По сути, все мессенджеры являются частью облачных сервисов и для их работы необходимо наличие более или менее устойчивой сети интернет. Возможно, в будущем появятся мессенджеры работающие по иным принципам, но сейчас имеем то что имеем.
Что такое Web3
Это в первую очередь технология подразумевающая управление данными на сторонних вычислительных комплексах или блокчейнах, где каждая операция имеет высокий уровень защиты и доверия со стороны пользователей. Также это инструмент для работы с криптовалютой и NFT (уникальный цифровой сертификат подтверждающий право владения цифровым или физическим активом.
Быть или не быть
На данный момент мессенджеры претерпели революционную реформу. Такие приложения уже перестают быть просто приложениями, они плавно перерастают в инструмент политической воли их владельцев. Создатели мессенджеров предлагают людям не просто инструмент общения, но площадку для навязывания собственной воли их владельцев. Вот список наиболее распространенных мессенджеров владельцы которых являются лидерами собственной идеологии:
-
Телеграм, владелец Павел Дуров
-
Инстаграм, WhatsApp, владелец Марк Цукерберг
-
Skype компания Билла Гейтса
-
XChat, Илон Маск
-
и много других
Странно то, что владельцев многих мессенджеров их пользователи знают как говорится, в лицо. Но ведь если разобраться, то становится очевидным, что даже сами пользователи сами того не подозревая выступают в роли рекламных агентов этих площадок. К примеру фраза: «заходи на мой телеграм-канал и там ты узнаешь подробности…» уже подразумевает скрытую рекламу и навязывание обществу собственного предпочтения. Уже никто не говорит например, «найди меня в соц. сетях».
Итак, исходя из вышесказанного можно сделать чёткий вывод, что мессенджер это инструмент прямо или косвенно навязывающий чужое мнение.
Альтернативное мнение
С учетом постоянных скандалов на фоне различных мессенджеров и уличения их в краже личных данных, люди продолжают пользоваться ими и дальше. В некоторых случаях это даже подогревает интерес простых обывателей к определенному мессенджеру. Самое плохое в этом то, что наличие огромной аудитории в сотни миллионов пользователей привлекает к таким платформам большое число злоумышленников. Спецслужбы тоже не дремлют и пытаются внедрять своих агентов под видом удобных сервисов для выманивания личной информации пользователей. Но есть и смешные моменты. К примеру, реализация секретных чатов с использованием сквозного шифрования или так называемого E2E шифрования, ставит владельца этой сети вообще в противостояние с законами многих стран, превращая их в злостных нарушителей и изгоев. Но ведь это всего лишь простое приложение, призванное помочь людям коммуницировать по всему миру. Хаха, но так думают только далёкие от этих технологий люди.
Моё мнение таково, больше мессенджеров, хороших и добрых! Я уверен, что чем более широким будет выбор приложений этого типа, тем меньше соблазна останется у злоумышленников. Вместо того чтобы держать в базе данных мессенджера сведения о миллионах пользователей, достаточно создавать мессенджеры для более узкого круга сообществ. К примеру, мессенджеры для домохозяек, блогеров, музыкантов и так далее.
Итак, пишем свой мессенджер
В этой статье я опишу создание мессенджера с использованием технологии Web3, который сам создал. В нём будет множество фичей от простого обмена сообщениями, создания частных каналов и до создания собственной экономики на основе блокчейна. Я покажу, как запустить собственный смарт-контракт, выпустить свою криптовалюту и реализовать токеномику внутри этого мессенджера. Это позволит монетизировать подписки на платные каналы, совершать донаты и выплачивать вознаграждения в играх.
Наш мессенджер будет содержать функционал для осуществления видеозвонков по технологии P2P, публиковать частные материалы в общий доступ, обмениваться анимированными стикерами lottie и TGS, отправлять видеосообщения в формате кружочков в чатах и запускать собственных ботов для расширения возможностей основного приложения.
Для начала нам потребуется определить протокол обмена данными между нашим бэкендом и фронтендом. Я покажу, как разработать и запустить бэкенд (сервер) в среде .Net 8. Сам клиент мы будем писать в Android Studio на языке Java. При желании вы можете сконвертировать программные коды на другие.
Для обеспечения безопасности и анонимности вашего мессенджера мы будем использовать сторонние прокси сервисы на примере Cloudflare с их туннелем. Это позволит запускать ваш бэкенд без открытия портов, что обезопасит ваш компьютер от внешних атак. Также нам понадобится поднять локальный веб-сервер на IIS в Windows или nginx в Linux. Это кому как нравится. Я могу описать оба варианта без проблем.
В качестве первоначального примера я буду описывать работу с базой данных SQLite в её файловом варианте, так как переход к более сложным базам данных не входит в рамки этой статьи. Все, что нам понадобиться в разработке нашего мессенджера это:
-
Microsoft Visual Studio .Net
-
Android Studio
-
SQLite
-
IIS или Nginx (на выбор)
-
DB Browser for SQLite
-
аккаунт Cloudflare + скачанный cloudflared tunnel
-
Nethereum library
-
другие компоненты о которых я буду упоминать далее
Итак, пока вы будете готовить свой необходимый минимум из вышеперечисленных компонентов, я сделаю паузу и закончу эту часть статьи. Если данная статья вам будет интересна, я опубликую следующую часть, где буду рассматривать практические примеры по созданию сердца нашего будущего мессенджера, а именно его бэкенда.
Спасибо за внимание и до скорой встречи в следующей части!
ссылка на оригинал статьи https://habr.com/ru/articles/1051134/