
UpdatedAug 7, 2026
Argos — Updated!
Анализ и представление графов подозрительных операций (Analyse et Représentation des Graphes des Opérations Suspectes)
Argos — платформа для трассировки блокчейн-активов
Argos — это написанная на нескольких языках программирования платформа для расследований в блокчейне, предназначенная для трассировки, анализа и визуализации потоков средств в Ethereum и Bitcoin. Построена на Rust, OCaml и TypeScript/React.
Архитектура
+-----------------------+
| Frontend (React 19) |
| Vite + Tailwind CSS |
+-----------+-----------+
| HTTP/REST
+-----------v-----------+
| REST API (Rust) |
| Axum — port 8990 |
| |
| in-process OCaml FFI |
| (ocaml-interop): |
| database_ffi.so — |
| tracing + full decode|
+-----------+-----------+
|
+-----------------------v----------------------+
| PostgreSQL (11 DBs) |
| Redis |
+----------------------------------------------+
+------------------+ +------------------+
| Ethereum node | | Bitcoin node |
+--------+---------+ +--------+---------+
| |
+--------v----------+ +--------v----------+
| Rust indexers x2 | | Rust indexers x2 |
| (psql x | | (psql x |
| latest/hist) | | latest/hist) |
| | | |
| in-process OCaml | | in-process OCaml |
| FFI: analyses_ffi | | FFI: analyses_ffi |
| .so (decode + | | .so (decode + |
| defi_analyses) | | defi_analyses) |
+-------------------+ +-------------------+
Декодирование, DeFi-анализ и трассировка выполняются внутри процессов Rust-бинарников через прямой FFI Rust↔OCaml (ocaml-interop) — без отдельных микросервисов и портов gRPC.
Быстрый старт
Полные инструкции по настройке см. в разделе Начало работы.
git clone [email protected]:functori/argos/argos.git
cd argos
cp argos.secret.env.example argos.secret.env # Fill in secrets
set -o allexport && . ./argos.env && . ./argos.secret.env && set +o allexport
make install-deps
make create-tablespaces
make migrate-databases
make build
Документация
| Документ | Описание |
|---|---|
| Начало работы | Предварительные требования, установка, первый запуск |
| Архитектура | Топология системы и потоки данных |
| REST API | Эндпоинты API и аутентификация |
| Индексаторы | Бинарные файлы индексаторов блокчейна |
| База данных | Схемы базы данных и секционирование |
| Развёртывание | Docker, сервисы, логи, мониторинг |
| Docker | Docker-образы для каждого сервиса, рецепты сборки, конфигурация времени выполнения |
| Окружение | Справочник переменных окружения |
| Трассировка | Алгоритм трассировки потоков средств |
| Декодирование и анализ | Декодирование и анализ (внутрипроцессный OCaml FFI) |
| OSINT | Источники данных OSINT и их загрузка |
| Алгоритмы анализа | DeFi-анализ (арбитраж, сэндвич и т. д.) |
| Кластеризация | Конвейер кластеризации и классификации адресов |
| Компонент декодирования | Декодирование ABI |
| Фронтенд | React-приложение |
Разработка
- Git Workflow — Планирование проекта, коммиты, MR, ревью
- Правила написания кода — Стандарты стиля и качества
- Организация исходного кода — Где размещается код
Сборка
make install-deps # Install all dependencies (OCaml, Rust, Node, Python)
make build # Build backend (Rust + OCaml)
make build-front # Build frontend
make create-tablespaces # Create PostgreSQL tablespace directories
make migrate-databases # Create databases and run migrations
make run-tests # Run tests
make lint-backend # Lint backend (clippy, ocamlformat)
make lint-frontend # Lint frontend (eslint)
make format # Auto-format all code
Лицензия
Проприетарная — Functori