
UpdatedAug 4, 2026
Argos — Updated!
Análise e Representação de Grafos de Operações Suspeitas (Analyse et Représentation des Graphes des Opérations Suspectes)
Argos — Plataforma de Rastreamento de Ativos Blockchain
Argos é uma plataforma de investigação blockchain multilinguagem para rastrear, analisar e visualizar fluxos de fundos em Ethereum e Bitcoin. Construída com Rust, OCaml e TypeScript/React.
Arquitetura
+-----------------------+
| 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) |
+-------------------+ +-------------------+
Decodificação, análises DeFi e rastreamento são executados in-process dentro dos binários Rust por meio de uma FFI direta
Rust↔OCaml (ocaml-interop) — não há microsserviços separados nem portas gRPC.
Início Rápido
Consulte Primeiros Passos para obter as instruções completas de configuração.
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
Documentação
| Documento | Descrição |
|---|---|
| Primeiros Passos | Pré-requisitos, instalação, primeira execução |
| Arquitetura | Topologia do sistema e fluxos de dados |
| API REST | Endpoints da API e autenticação |
| Indexadores | Binários indexadores de blockchain |
| Banco de Dados | Esquemas de banco de dados e particionamento |
| Implantação | Docker, serviços, logs, monitoramento |
| Docker | Imagens Docker por serviço, receitas de build, configuração em tempo de execução |
| Ambiente | Referência de variáveis de ambiente |
| Rastreamento | Algoritmo de rastreamento de fluxos de fundos |
| Decodificação e Análise | Decodificação e análise (FFI OCaml in-process) |
| OSINT | Fontes de dados OSINT e ingestão |
| Algoritmos de Análise | Análise DeFi (arbitragem, sandwich, etc.) |
| Agrupamento | Pipeline de agrupamento e classificação de endereços |
| Componente de Decodificação | Decodificação de ABI |
| Frontend | Aplicação React |
Desenvolvimento
Consulte Convenções de Desenvolvimento:
- Fluxo de Trabalho Git — Planejamento de projeto, commits, MRs, revisões
- Diretrizes de Código — Padrões de estilo e qualidade
- Organização do Código-Fonte — Onde o código fica
Compilação
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
Licença
Proprietário — Functori