Техническая архитектура SmartDeal
Обзор
SmartDeal — это платформа для безопасных сделок на основе блокчейна, построенная как Telegram Mini App. Платформа обеспечивает создание и управление сделками с использованием эскроу-счетов в смарт-контрактах сети TON, сочетая современные веб-технологии, коммуникацию в реальном времени и блокчейн-интеграцию.
Платформа: Telegram Mini App (веб-приложение) Блокчейн: TON (The Open Network) Режим реального времени: Уведомления через WebSocket Хранилище: Децентрализованный IPFS
Общая архитектура системы
┌─────────────────────────────────────────────────────────────────┐
│ TELEGRAM │
│ (Mini App + Bot + Authentication) │
└────────────────────────────┬────────────────────────────────────┘
│
│ HTTPS + WebSocket
▼
┌─────────────────────────────────────────────────────────────────┐
│ ФРОНТЕНД ПРИЛОЖЕН ИЕ │
│ (Next.js 14) │
│ │
│ • Интерфейс управления сделками │
│ • Интеграция с TON-кошельком │
│ • Обновления в реальном времени │
│ • Мультиязычность (RU/EN) │
└────────────────────────────┬────────────────────────────────────┘
│
│ REST API + WebSocket
▼
┌──────────────────────────────────────────────────── ─────────────┐
│ БЭКЕНД ПРИЛОЖЕНИЕ │
│ (Node.js + Express) │
│ │
│ • Аутентификация и авторизация │
│ • Бизнес-логика │
│ • Фоновые задачи │
│ • Трансляция событий в реальном времени │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────────────┼────────────────────┬───────────────┐
▼ ▼ ▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐ ┌──────────┐
│ PostgreSQL │ │ TON Blockchain │ │ Telegram │ │ IPFS │
│ БД │ │ (Смарт-контракт) │ │ API │ │ (Pinata) │
└──────────────┘ └──────────────────┘ └──────────────┘ └──────────┘
Технологический стек
Фронтенд-технологии
- Next.js 14 — React-фреймворк с App Router для современных веб-приложений
- TypeScript — Типобезопасная разработка для надежности кода
- React 18 — Современная UI-библиотека с хуками
- Socket.IO Client — Коммуникация WebSocket в реальном времени
- TON Connect — Интеграция блокчейн-кошелька (@tonconnect/ui-react)
Бэкенд-технологии
- Node.js + Express — Масштабируемая серверная среда выполнения JavaScript
- TypeScript — Сквозная типобезопасность во всём стеке
- Prisma ORM — Типобезопасный доступ к базе данных PostgreSQL
- Socket.IO — Двунаправленная коммуникация в реальном времени
- TON SDK — Библиотека взаимодействия с блокчейном
Внешние сервисы
- Telegram Bot API — Аутентификация и функционал бота
- Telegram MTProto — Управление чатами и медиа
- TON Blockchain — Децентрализованные эскроу смарт-контракты
- IPFS (Pinata) — Децентрализованное хранилище файлов
Основные архитектурные принципы
1. Слоистая архитектура
Приложение следует чистой слоистой архитектуре для поддерживаемости и масштабируемости:
Слои фронтенда:
Telegram WebApp → Провайдеры контекста → Бизнес-компоненты → UI-компоненты
Слои бэкенда:
API Gateway → Аутентификация → Бизнес-логика → Доступ к данным → Внешние сервисы
2. Коммуникация в реальном времени
SmartDeal использует двухканальную коммуникацию:
- REST API — Стандартные запросы/ответы для операций с данными
- WebSocket (Socket.IO) — Обновления в реальном времени для сделок, уведомлений и чата
Это обеспечивает мгновенное отображение обновлений без перезагрузки страницы.