Skip to content

Waypoint is a Rust-based Snapchain sync engine. Streams real-time events and backfills historical data to PostgreSQL.

License

Notifications You must be signed in to change notification settings

officialunofficial/waypoint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Waypoint

Docker Hub

waypoint banner

Rust-based Snapchain sync engine. Streams real-time events and backfills historical data to PostgreSQL.

Quick Start

# Docker (recommended)
docker compose up

# Local development
make env-setup    # creates .env from example
make build
make run

# Producer/Consumer separation (for HPA scaling)
waypoint start              # Both (default)
waypoint start producer     # Hub → Redis only
waypoint start consumer     # Redis → PostgreSQL only

# Docker producer/consumer profiles
docker compose --profile producer up                           # Producer only
docker compose --profile consumer up --scale waypoint-consumer=4  # Consumer with scaling

Backfill

Backfill uses a queue/worker model. The queue service populates Redis with FID batches, workers process them concurrently.

# Docker
docker compose --profile backfill up
docker compose --profile backfill up --scale backfill-worker=4  # parallel workers

# Local
make backfill-queue
make backfill-worker

Workers exit automatically when the queue is empty for 60s.

Configuration

Copy .env.example to .env and edit. Key settings:

WAYPOINT_DATABASE__URL=postgresql://postgres:postgres@localhost:5432/waypoint
WAYPOINT_REDIS__URL=redis://localhost:6379
WAYPOINT_HUB__URL=snapchain.farcaster.xyz:3383

See .env.example for all options including MCP, metrics, and Ethereum settings.

Docker networking

Never use localhost for hub URLs in containers. Use:

  • snapchain:3381 (compose network)
  • host.docker.internal:3381 (Docker Desktop)
  • 172.17.0.1:3381 (Linux bridge)

Docs

About

Waypoint is a Rust-based Snapchain sync engine. Streams real-time events and backfills historical data to PostgreSQL.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages