Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🌐 Olá, malha

Agora que você tem o ambiente configurado, vamos subir seu primeiro nó e conectá-lo à malha do PAEBIRU.


🚀 Subindo o nó

Para rodar o nó padrão (paebiru-node), utilize o Cargo. O nó iniciará os subsistemas de rede (libp2p), o Kernel (loop GALS) e a API de observabilidade.

cargo run -p paebiru-node

O que esperar na saída

Você verá logs estruturados indicando a inicialização:

NODE  Iniciando PAEBIRU Node (Trilha de Aço)...
NODE  Ponta-a-ponta rodando. Aguardando descoberta de peers...
API   Servidor HTTP rodando em http://127.0.0.1:1975

✅ Verificando a saúde do nó

Em outro terminal, você pode verificar se o nó está respondendo corretamente através do endpoint de saúde:

curl http://localhost:1975/healthz

Saída esperada: OK


📡 Descobrindo a malha

A descoberta opera em duas camadas:

  • mDNS (local) — plug-and-play em LAN, sem configuração. Outros nós na mesma rede local são descobertos automaticamente.
  • Kademlia DHT (global) — descoberta na malha pública. Configurável via PAEBIRU_BOOTNODES. Sem bootnodes, o nó opera em Island Mode e só descobre pares via mDNS.

Quando peers são descobertos (por qualquer das camadas), o nó se conecta via gossipsub ao tópico paebiru-metabolism e começa a trocar mensagens de PulseRequest e PulseResponse. Veja a entrada “Pulse” no Dicionário canônico para a definição completa.

Configuração de bootnodes

A variável de ambiente PAEBIRU_BOOTNODES aceita uma lista CSV de multiaddrs libp2p:

export PAEBIRU_BOOTNODES="/ip4/1.2.3.4/tcp/4001/p2p/12D3KooWPj...,/ip4/5.6.7.8/tcp/4001/p2p/12D3KooWQ..."
cargo run -p paebiru-node

Multiaddrs inválidos são descartados com warn! (o nó segue operando em modo degradado com os bootnodes válidos).

Você verá logs como:

KERNEL  Mensagem recebida de 7f3a1b2c: PulseRequest { timestamp: ... }
KERNEL  Enviando PulseResponse para 7f3a1b2c
NETWORK  Kademlia: nova rota para 12D3KooW... (1 addr(s))
NETWORK  Kademlia bootstrap OK — routing table populada

🛠️ Comandos úteis

AçãoComando
Ver métricas (Prometheus)curl http://localhost:1975/metrics
Ver estado do nó via CLIpaebiru node status
Parar o nóCtrl + C (faz o shutdown gracioso)

⏭️ Próximos passos

Com o nó rodando, você pode explorar a Forge CLI para gerenciar sua identidade e interagir com a malha de forma mais avançada.