Skip to content

Releases: 0xfandom/chainpulse

v0.1.0 — first tagged release

08 May 10:30
88ed9ac

Choose a tag to compare

First tagged release. The pipeline now runs end-to-end on free-tier WSS for Ethereum, Arbitrum, and Polygon out of the box, with auto-recovery from the failure modes that previously required manual restarts.

Highlights

  • Indexer logs-mode (#195) — topic-filtered `eth_subscribe('logs', ...)` replaces the per-block `eth_getLogs` storm. Free-tier WSS endpoints (BlockPi, drpc, publicnode) are now viable.
  • Async batched processor publish (#199) — `decoded_events` writer flips to async with 200-event / 200ms batches. ~5x throughput, lag converges to 0 on Polygon-class volume.
  • Self-healing Kafka writer (#198) — rebuilds the underlying writer after 3 consecutive publish failures. Survives Kafka container recycle and docker DNS NXDOMAIN cache without manual restart.
  • Latest-class cache TTL = 0 (#196) — `get_latest_block`, `get_token_transfers`, `get_whale_activity`, REST `/v1/chain/.../blocks` and `/v1/token/.../transfers` always hit ClickHouse fresh. No more 60s stale-cache window on cold start.
  • Default chain trim (#192) + README cleanup (#200) — ETH / Arbitrum / Polygon by default; the `subscribe_mode` per-chain knob is documented in the chains-config reference table.
  • Demo + integration test fixes (#193, #194) — `make demo` survives Docker port-range mappings and a Next.js dev server occupying 3000; `make integration-test` passes in 6s on a fresh stack.

Container images

This is the first release that pushes images. Once the `release.yml` workflow finishes, each binary lives at:

```
ghcr.io/0xfandom/chainpulse-indexer:v0.1.0
ghcr.io/0xfandom/chainpulse-processor:v0.1.0
ghcr.io/0xfandom/chainpulse-api:v0.1.0
ghcr.io/0xfandom/chainpulse-mcp:v0.1.0
```

Multi-arch (`linux/amd64` + `linux/arm64`). `latest` and `v0.1` tags also published.

Quickstart

```bash
git clone https://github.com/0xfandom/chainpulse.git
cd chainpulse
cp .env.example .env # fill ETH_, ARB_, POLY_* keys
make demo
```

REST: http://localhost:8080 · gRPC: localhost:8081 · MCP SSE: http://localhost:3011 · Grafana: http://localhost:3030