Skip to content

whetstoneresearch/doppler-indexer-rs

Repository files navigation

Doppler Indexer

The Doppler Indexer provides structured, queryable data for tokens created through Doppler.

Status

We are actively rebuilding our indexing infrastructure in Rust.

This repository is a work in progress and not yet ready for production use.

Production Version

For the current production indexer, see doppler-indexer.

For API usage and public endpoints, refer to the Doppler Documentation.

Consuming the Data

The indexer maintains a Postgres database of everything Doppler-related: launched tokens and their metadata, bonding-curve and CPMM pools, swaps, per-block and candle (OHLCV) price history, TVL / market cap / 24h rolling metrics, wallet balances and holder counts, LP positions, and fee accounting — with USD denominations where a price path exists.

There are three ways to query it, all served by the API container:

  • REST (/v1/*) — paginated endpoints for tokens, pools, swaps, portfolios, candles, and search. OpenAPI spec at /openapi.json, Swagger UI at /docs.
  • GraphQL (/graphql) — the same data with native field selection; playground included.
  • Raw SQL (POST /v1/sql) — ad-hoc read-only queries against the live database for anything the canned endpoints don't cover.

The full consumer guide — table catalog, conventions (base58 vs. bytea, slots, base units), validated example queries, and deployment URLs — lives at docs/consumers/solana.md. Solana (mainnet and devnet) is documented today; EVM chains will follow.

Database Connections

  • Local Docker Postgres can use a plaintext DATABASE_URL, typically with sslmode=disable.
  • Managed PostgreSQL deployments should use a TLS-enabled DATABASE_URL, such as DigitalOcean's default sslmode=require connection string.

Container Deployment

This repository publishes a container image suitable for self-hosting.

The intended container flow is:

  1. Build or pull the image.
  2. Provide runtime environment variables.
  3. Mount a persistent data/ directory.
  4. Run the container with Docker Compose or your preferred orchestrator.

Generic deployment examples live under deploy.

  • deploy/compose.example.yaml: example Compose service definition
  • deploy/.env.example: runtime env var template

On pushes to main, the Publish Image workflow builds and pushes separate indexer and API images to:

  • ghcr.io/${owner}/doppler-indexer-rs:<git-sha>
  • ghcr.io/${owner}/doppler-indexer-rs:main
  • ghcr.io/${owner}/doppler-api:<git-sha>
  • ghcr.io/${owner}/doppler-api:main

Questions

Join the Doppler Telegram community or open an issue in this repository to get in touch.

About

Multichain metrics and analytics for the Doppler Protocol.

Resources

License

Stars

3 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors

Languages