Skip to content

DecodeFi/backend-morda

Repository files navigation

GraphChain - Сервис для анализа и визуализации блокчейн-транзакций

Обзор системы

GraphChain представляет собой комплексное решение для анализа, отслеживания и визуализации транзакций в блокчейне. Система позволяет получать данные о блоках и транзакциях, отслеживать цепочки вызовов между контрактами, хранить метаданные адресов и протоколов, а также выполнять проверки безопасности.

Архитектура системы

Система состоит из следующих компонентов:

  1. Прокси-сервер (Backend) - основной компонент, обрабатывающий запросы от клиентов и управляющий взаимодействием с другими сервисами.
  2. Сервер логики - отвечает за получение и обработку данных из блокчейна.
  3. Сервер безопасности - выполняет анализ безопасности адресов.
  4. База данных (PostgreSQL) - хранит метаданные адресов, протоколов и снимков состояния сети.

Основные функциональные возможности

Получение информации о блоках и транзакциях

  • Получение номера последнего блока
  • Получение списка транзакций в блоке

Трассировка транзакций

  • Получение цепочек вызовов для конкретного адреса
  • Получение цепочек вызовов для блока
  • Анализ связей между контрактами

Управление метаданными

  • Хранение и получение информации об адресах
  • Хранение и получение информации о протоколах
  • Создание новых протоколов

Снимки состояния сети

  • Создание и обновление снимков с координатами узлов
  • Получение данных снимка вместе с трассировками между узлами
  • Визуализация связей между адресами

Проверка безопасности

  • Анализ безопасности адресов
  • Кэширование результатов проверок

Поток данных

  1. Клиент отправляет запрос на прокси-сервер.
  2. Прокси-сервер определяет тип запроса и перенаправляет его в соответствующий сервис:
    • Запросы о блоках и трассировках направляются на сервер логики
    • Запросы проверки безопасности направляются на сервер безопасности
    • Запросы метаданных обрабатываются через базу данных
  3. Полученные данные объединяются, обогащаются метаданными и возвращаются клиенту.

API

Система предоставляет документированное API через Swagger UI, доступное по адресу /api-docs. Основные эндпоинты включают:

  • /api/blockNumber - получение номера последнего блока
  • /api/block/:blockNumber - получение транзакций для указанного блока
  • /api/trace - получение трассировок для адреса, транзакции или блока
  • /api/metadata/address/:address - получение метаданных для адреса
  • /api/metadata/protocols - получение списка всех протоколов
  • /api/snapshot/:snapshotName - получение снимка состояния сети
  • /api/security/check/:address - проверка безопасности адреса

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •