Gleam.br Wiki

🕸️ Gleam-BR P2P: O Motor de Rede Distribuída | Governança

Especificação técnica e manual do componente gbr_p2p.

🕸️ Gleam-BR P2P: O Motor de Rede Distribuída

O pacote gbr_p2p é a fundação de telecomunicações do ecossistema Gleam-BR. Ele fornece uma implementação nativa (Gleam/OTP) da especificação *Libp2p*, otimizada para escalabilidade massiva e comunicação autônoma entre Agentes de Inteligência Artificial.

🚀 O que este pacote resolve? Ao invés de depender de APIs REST centralizadas (HTTP/TCP padrão), o gbr_p2p permite que qualquer aplicação Gleam atue como um nó resiliente em uma malha global, oferecendo: * *Descoberta de Pares (Kademlia DHT):* Encontre outros nós sem precisar de um servidor DNS. * *Criptografia Zero-Trust (Noise Protocol):* Handshake mTLS rápido e seguro, garantindo que IAs não conversem com intermediários maliciosos. * *Multiplexação (Yamux):* Abra centenas de canais lógicos (streams) paralelos sobre uma única conexão TCP.

🛠️ Como usar (Exemplo Básico)

O pacote abstrai a complexidade do OTP em uma interface fluida.

import gbr/p2p/config.{type P2PConfig}
import gbr_p2p

pub fn start_node() {
  // 1. Configura o Nó (Porta e nós de bootstrap)
  let cfg = config.P2PConfig(
    port: 4001,
    bootstrap_nodes: ["/ip4/127.0.0.1/tcp/4002"]
  )

  // 2. Inicia o Host (A Árvore de Supervisão)
  let assert Ok(host) = gbr_p2p.start_host(cfg)

  // 3. O nó agora diala proativamente para os peers e se registra no Kademlia!
  io.println("Nó P2P Ativo!")
}

📖 Aprofundamento Técnico

Para compreender como a Erlang VM gere as conexões e interage com o Rust NIF sem sofrer Panics, leia o nosso documento de Arquitetura e Máquina de Estados.