Skip to main content

Процесс работы со сделками

Процесс управления сделками

1. Пользователь создаёт сделку

2. Фронтенд валидирует и отправляет в API

3. Бэкенд создаёт запись в базе данных

4. Фоновая задача создаёт Telegram-чат

5. Инициализация смарт-контракта в блокчейне

6. WebSocket уведомляет все стороны в реальном времени

7. Сделка активируется и становится видимой пользователям

Обработка транзакций

SmartDeal обрабатывает блокчейн-транзакции через надёжный конвейер:

  1. Создание транзакции — Пользователь инициирует депозит/платёж
  2. Отправка в блокчейн — Транзакция отправляется в сеть TON
  3. Мониторинг — Автоматическая проверка статуса транзакции
  4. Подтверждение — Смарт-контракт подтверждает, обновляет статус сделки
  5. Уведомление — Обновление в реальном времени отправляется всем участникам

Это обеспечивает надёжную обработку транзакций даже во время перегрузки сети.


Система хранения файлов

Все файлы, связанные со сделками, используют децентрализованное хранилище IPFS:

  • Постоянное хранение — Файлы нельзя удалить или изменить
  • Адресация по содержимому — Каждый файл имеет уникальный криптографический ID
  • Распределённый доступ — Файлы доступны через любой IPFS-шлюз
  • Поддерживаемые форматы — PDF, JPEG, PNG документы

Чат и обмен сообщениями

Каждая сделка имеет автоматически созданный Telegram-чат:

  • Создаётся автоматически при старте сделки
  • Сообщения пересылаются между пользователями и администраторами
  • Полная история сообщений сохраняется
  • Поддержка медиа и файлов
  • Доставка сообщений в реальном времени

Фоновые задачи

Бэкенд использует 9 фоновых задач, работающих с разными интервалами:

  1. CreateDealChats — Автоматическое создание Telegram-чатов
  2. ForwardMessages — Двунаправленная маршрутизация сообщений
  3. SendTransactions — Отправка блокчейн-транзакций
  4. GetTransactions — Мониторинг статуса транзакций
  5. GetWalletAddress — Получение данных TON-кошелька
  6. GetUserPhoto — Загрузка изображений профиля
  7. LogMessages — Сохранение истории чата
  8. SendNotifications — Уведомления пользователей в реальном времени

Эти задачи работают независимо и обрабатывают асинхронные операции без блокировки основного API.