Multi-indexer setup for Origin Protocol using Envio HyperIndex.
- collector - Token transfers and events
- prices - Price feed indexing
- oToken - oToken rebase and supply tracking
- Node.js v20
- pnpm v9.7.1+
- Docker Desktop
# Install dependencies
pnpm install
# Generate code for all indexers
pnpm codegen
# Run a specific indexer
pnpm dev:collector
pnpm dev:prices
pnpm dev:oToken
# Or use Docker Compose (runs all indexers)
docker-compose upVisit http://localhost:8080 (Hasura Console) - default password: testing
After modifying schema.graphql or config.yaml:
# Generate for all indexers
pnpm codegen
# Generate for specific indexer
pnpm codegen:collector
pnpm codegen:prices
pnpm codegen:oTokenBuild and push Docker image via GitHub Actions on push to main:
# Image is built and pushed to GitHub Container Registry
ghcr.io/originprotocol/origin-envio:latestsrc/
├── indexers/
│ ├── collector/ # Token transfer indexer
│ ├── prices/ # Price feed indexer
│ └── oToken/ # oToken indexer
├── abis/ # Contract ABIs
├── constants/ # Shared constants
└── utils/ # Utility functions