RW.BC.Indexer
| Campo |
Valor |
| Tipo |
Indexador on-chain (event-driven, read-model) |
| Linguagem |
TypeScript 5 (ESM, ES2022) |
| Runtime |
Node >= 24 |
| Framework |
Ponder 0.16.6 |
| Alvo de deploy |
Processo permanente; conecta-se ao mesmo Postgres da RW.BC.Api |
| Rede |
BNB Smart Chain (mainnet/testnet) ou localnet Anvil (chainId configuravel) |
Indexador on-chain do ecossistema BitChicken: consome eventos dos contratos
(NFT, Forge, Staking, Marketplace, Token) via Ponder/viem e materializa um
read-model relacional no schema indexer do Postgres compartilhado com a
RW.BC.Api. Implementa o Model B da arquitetura de read-model (Ponder
escreve; API le via Gridify + SignalR).
Entry Points
| Arquivo |
Proposito |
ponder.config.ts |
Chains, contratos, ABIs, start blocks, conexao com Postgres |
ponder.schema.ts |
Definicao das 12 tabelas e 18 indices secundarios |
src/index.ts |
Handlers do Marketplace (listings, sales, swaps) |
src/catalog.ts |
Handlers de edicoes do catalogo (NFT) |
src/nft.ts |
Handlers de NFTs (mint, transfer, rename) |
src/forge.ts |
Handlers do Forge (gacha VRF) |
src/staking.ts |
Handlers de staking (pares; last_claim_at via YieldClaimed) |
src/referral.ts |
Handlers de referral (registro, link, BNB acumulado/sacado) |
src/token.ts |
Handlers de transferencia do token BCKN |
src/api/index.ts |
API HTTP do Ponder (SQL client + GraphQL) |
src/lib/status.ts |
Vocabulario canonico de status (enums tipados) |
src/lib/ids.ts |
Geracao de ID de evento (txHash-logIndex) |
src/lib/addresses.ts |
Normalizacao de enderecos (lowercase) |
scripts/reset-schema.mjs |
Drop do schema indexer + ponder_sync (dev) |
scripts/lib/connection.mjs |
Resolucao da connection string (Aspire ADO.NET ou DATABASE_URL) |
Diretorios Principais
| Diretorio |
Conteudo |
src/ |
Handlers Ponder por dominio + subpasta api/ e lib/ |
abis/ |
ABIs TypeScript dos 5 contratos (geradas do Crypto) |
generated/, .ponder/, ponder-env.d.ts |
Artefatos gerados pelo Ponder (ponder codegen/ponder dev) — gitignored, não presentes num checkout limpo |
scripts/ |
Utilitarios de manutencao (reset do schema, resolucao de conexao) |
Documentacao Disponivel