Skip to content

Open Indexer Benchmark#2

Open
DZakh wants to merge 31 commits intomainfrom
dz/open-indexer-benchmark
Open

Open Indexer Benchmark#2
DZakh wants to merge 31 commits intomainfrom
dz/open-indexer-benchmark

Conversation

@DZakh
Copy link
Member

@DZakh DZakh commented Feb 10, 2026

No description provided.

DZakh and others added 30 commits February 10, 2026 13:36
Envio indexers use HyperSync as the default data source, which requires
an API token. Add the ENVIO_API_TOKEN secret as an environment variable
to the codegen and test steps in the Envio CI job.

https://claude.ai/code/session_018CYQg4SoNhwJCy6HyRbKsm
Addresses in inline snapshots are now checksummed instead of lowercased,
matching the updated behavior of the Envio indexer.

https://claude.ai/code/session_018CYQg4SoNhwJCy6HyRbKsm
…zuj0

Add ENVIO_API_TOKEN to codegen and test workflow steps
Add a rindexer (https://rindexer.xyz/) no-code implementation that
indexes Transfer and Approval events on the RocketTokenRETH contract,
matching the existing Envio and Ponder benchmark cases. Includes YAML
config with custom tables for account balances and allowances, ERC20
ABI, Docker Compose for PostgreSQL, and the benchmark runner wired
into run.ts with GraphQL + health endpoint metric collection.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
Instead of requiring a pre-installed rindexer binary, download and
install it automatically via the official install script at the start
of the rindexer benchmark. Use the full path to the installed binary.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
The Approval event's upsert operation was missing the required `action`
field in its `set` block, causing a parse error. Added `action: set`
since an approval replaces the allowance value rather than incrementing.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
Usage: node run.ts [benchmark...] [--duration=N]

Examples:
  node run.ts rindexer --duration=30   # only rindexer, 30s
  node run.ts envio ponder             # envio + ponder, default 60s
  node run.ts                          # all benchmarks (unchanged)

Replaces the hardcoded sequential run with a registry-based loop
so individual benchmarks can be tested without commenting out code.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
Check for the rindexer binary before running the install script
to avoid unnecessary downloads on repeated runs.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
The GraphQL readiness timeout was hardcoded to 60s, causing failures
when --duration exceeded 60s. Use DURATION_S instead.

https://claude.ai/code/session_01CpAV48SAo8vnyfmrBsrQWa
Add a complete Subsquid SDK implementation for the ERC20 transfer events
benchmark case, following the patterns from docs.sqd.ai. Includes:
- EvmBatchProcessor configured for RocketTokenRETH on Ethereum Mainnet
- TypeORM entities for Account, TransferEvent, Allowance, ApprovalEvent
- Batch event handler with upsert logic matching the benchmark spec
- GraphQL server via @subsquid/graphql-server on port 4350
- Benchmark runner integration with Docker Postgres lifecycle
- CI validation job for typecheck

https://claude.ai/code/session_01BrQJTpQMVQLbH3Sr5k2BDz
The generated model files and migrations are no longer tracked in git.
The benchmark now runs `pnpm codegen` to regenerate models from
schema.graphql and `squid-typeorm-migration generate` before applying.

https://claude.ai/code/session_01BrQJTpQMVQLbH3Sr5k2BDz
…CuG5

Add Squid indexer to ERC20 transfer events benchmark
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants