Skip to content

HyperIndex V3 just shipped: 3x faster backfill, ClickHouse compatibility, unified API, new testing framework #9

@moose-code

Description

@moose-code

HyperIndex V3 just shipped!! 3x faster backfill, ClickHouse compatibility, unified API, new testing framework.

The headlines

  • 3x faster historical backfill, ~25k events/sec standard throughput
  • ClickHouse compatibility: run ClickHouse alongside Postgres as an analytics-ready, restart- and reorg-resistant secondary store. Flip it on with storage: { postgres: true, clickhouse: true }. Experimental, available on Envio Cloud Dedicated.
  • Unified handlers API: one indexer value, three methods (onEvent, contractRegister, onBlock). Files in src/handlers/ auto-register.
  • Test without Docker or a database: new createTestIndexer() powered by Vitest. Snapshot assertions, direct entity access.
  • Preload optimization on by default: auto-batched entity loading, multi-x faster handlers with zero code changes
  • ESM-first with top-level await in handlers
  • 88MB lighter npm package (141MB to 53MB), near-instant envio codegen
  • Named tuple fields on events. No more positional params[0], params[1]. Plus contractName and eventName on every event.
  • Conditional handlers and per-event start blocks via the new where function (where.block.number._gte, return a boolean to skip)
  • Direct RPC client, Ethers.js dependency gone
  • Prometheus /metrics endpoint + envio metrics CLI for observability
  • New targets: Solana (experimental), Fuel block handlers, Bun, Podman, WebSocket RPC
  • GraphQL-style query filters: _gte, _lte, _in

What's coming next

  • Acting on your V3 feedback
  • Isolated multichain mode
  • Polished Solana support
  • Indexing 1,000,000+ events per second

Links

Would really appreciate any feedback as you upgrade. Reply here or ping us on Discord. A ⭐ on the repo goes a long way too.

JonJon & the Envio team

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions