Plugins Geyser
Plugins Geyser permitem que validators Agave transmitam atualizações de conta e transação para sinks externos para indexação sem polling JSON-RPC.
Busque em todas as páginas da documentação
Plugins Geyser permitem que validators Agave transmitam atualizações de conta e transação para sinks externos para indexação sem polling JSON-RPC.
Cartão de receita de referência rápida - pronto para copiar e colar.
{
"libpath": "/path/to/libgeyser_plugin.so",
"accounts_selector": { "owners": ["YOUR_PROGRAM_ID"] },
"transaction_selector": { "mentions": ["YOUR_PROGRAM_ID"] }
}agave-validator --geyser-plugin-config geyser.json ...Quando usar isso:
# geyser.json (ilustrativo - combine com o schema do seu plugin)
cat > geyser.json <<'EOF'
{
"libpath": "/opt/geyser/libmy_sink.so",
"kafka": { "bootstrap.servers": "localhost:9092", "topic": "solana-events" },
"accounts_selector": {
"owners": ["YOUR_PROGRAM_ID"]
}
}
EOF
agave-validator \
--ledger /data/ledger \
--geyser-plugin-config geyser.json \
--rpc-port 8899O que isso demonstra:
.so carrega no espaço de processo do validator.| Preocupação | Plugin | Seu indexador |
|---|---|---|
| Filtragem | seletores owner/mention | lógica de negócio |
| Durabilidade | encaminhar para fila | commits no DB |
| Replay | checkpoints de slot | upserts idempotentes |
| Upgrades | .so versionado | migrações de schema |
# Verifique carregamento do plugin na inicialização do validator - cheque logs de init geyser
tail -f /data/validator.log | grep -i geyser| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| Yellowstone gRPC | Streaming gerenciado | Você já opera validator |
| Webhooks | Simplicidade HTTP push | Necessidade de latência ultra-baixa |
| RPC backfill | Histórico pequeno | Programas ao vivo de alto volume |
| DAS API | Apenas leituras de ativos | Indexação arbitrária de instruções |
Para plugins customizados sim; Yellowstone gerenciado oferece gRPC sem operar stake.
Bibliotecas dinâmicas Rust/C++ .so conforme interface de plugin geyser do Agave.
Sim - transaction_selector com mentions de program IDs.
Replay a partir do último slot commitado armazenado no seu DB usando RPC backfill para preencher lacunas.
O plugin recebe dados completos de conta em escritas relevantes ao seletor - planeje largura de banda.
Execute test validator com plugin contra clone de ledger devnet para carga menor.
Yellowstone expõe streams estilo Geyser via gRPC para clientes remotos.
Plugin roda dentro do validator - supply chain crítico; audite fontes do .so.
Padrão comum - plugin produz; consumidores escalam horizontalmente.
Ops de plugin auto-hospedado é pesado - webhooks/Yellowstone do provedor são mais baratos para equipes pequenas.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026