About
Tana notifications service

Tags
No tags available

Languages
TypeScript 93%, Dockerfile 4%, Shell 3%

tana-notifications

real-time notification delivery service for the Tana blockchain platform.

overview

tana-notifications handles push notifications and real-time alerts across the Tana ecosystem. it connects to the event bus to receive system events and routes them to users through various channels.

how it works

the service subscribes to Redis streams from the event bus and processes events based on user notification preferences. when a relevant event occurs (transaction received, block finalized, contract executed), it formats the notification and delivers it through the appropriate channel.

notification flow

event-bus (Redis streams)
         |
         v
  tana-notifications
         |
    +----+----+
    |         |
   SSE    WebSocket
    |         |
    v         v
  web app   mobile app

supported event types

  • transaction confirmations
  • balance changes
  • contract execution results
  • validator status changes
  • network events

architecture

built with TypeScript and Hono for the HTTP layer. uses server-sent events (SSE) for web clients and WebSocket connections for mobile apps. subscribes to Redis streams for event ingestion.

the service maintains per-user notification preferences stored in PostgreSQL, allowing users to configure which events they want to receive and through which channels.

integration

tana-notifications runs as part of the Tana service mesh, coordinated by tana-engine. it requires access to the event bus Redis instance and the shared PostgreSQL database for user preferences.