Skip to content

Harden the chainhook ingestion service for production durability and operability #296

@Mosas2000

Description

@Mosas2000

Summary

chainhook/server.js currently persists events to a local JSON file and serves them from in-process file-backed storage. This is workable for a prototype but weak for production durability, retention, and multi-instance operation.

Why this matters

If TipStream wants to stand out as a serious platform, the event-ingestion layer needs stronger guarantees around persistence, deduplication, recovery, and operational visibility.

Proposed work

  • Replace JSON file storage with a durable datastore suitable for production use.
  • Add idempotent ingest semantics using stable event keys.
  • Add health checks, metrics, and retention or compaction policy.
  • Document deployment topology, auth expectations, and recovery procedures.
  • Review CORS and auth defaults for production exposure.

Acceptance criteria

  • Event ingestion survives process restarts without relying on an ad hoc JSON file.
  • Duplicate webhook deliveries do not create duplicate stored events.
  • The service exposes basic health and operational metrics.
  • Production deployment and recovery guidance is documented.

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