Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

evstack/apex

Repository files navigation

Apex

Lightweight Celestia namespace indexer. Watches namespaces on the Celestia network, stores blobs and headers in SQLite, and serves them over JSON-RPC, gRPC, and REST.

Features

  • Dual data source: Index from a Celestia DA node (celestia-node) or directly from a consensus node (celestia-app)
  • Backfill + streaming: Catches up on historical blocks, then streams live via header subscriptions with automatic gap recovery
  • Query by commitment: Retrieve blobs by cryptographic commitment alone -- no height required
  • JSON-RPC + gRPC: Celestia-node compatible JSON-RPC API alongside a gRPC API with server-streaming subscriptions
  • Observability: Prometheus metrics, structured logging (zerolog), health/readiness endpoints
  • Zero CGo: Pure Go, cross-compiles cleanly

Quick Start

# Generate default config (writes config.yaml)
apex init
# Set auth token (DA node mode)
export APEX_AUTH_TOKEN="your-token"
# Edit config.yaml: add namespaces, adjust URLs
# Start indexing
apex start

Build

Requires Go 1.25+ and just.

just build # compile to bin/apex
just test # go test -race ./...
just lint # golangci-lint
just check # tidy + lint + test + build

Ports

Port Protocol Purpose
8080 HTTP JSON-RPC + health endpoints
9090 TCP gRPC
9091 HTTP Prometheus /metrics

Documentation

License

See LICENSE.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /