centralized event logging system for the Tana blockchain platform.
tana-event-bus provides a unified event streaming infrastructure that all Tana services use to emit structured events. events flow through Redis streams and can be consumed by monitoring tools, notification services, and analytics pipelines.
services import a client library and call a dispatch function to emit events. the event bus server receives these events via HTTP and writes them to Redis streams organized by service, level, and category.
Tana services
|
v
event-bus clients (TypeScript or Rust)
|
v
event-bus server (Rust + Actix-web)
|
v
Redis streams
|
+---> events:all
+---> events:service:{name}
+---> events:level:{level}
+---> events:category:{category}
events follow a standardized schema:
{
"timestamp": 1732464000000,
"service": "ledger",
"level": "info",
"category": "block_production",
"message": "block finalized",
"metadata": {
"height": 123,
"txCount": 5
}
}
the event bus has three components:
all three components share type definitions to ensure consistency across the ecosystem.
a single event bus provides:
services import the appropriate client and call dispatch with event data. the client handles serialization and HTTP transport. consumers subscribe to Redis streams filtered by their needs.
centralized event logging system for the Tana blockchain platform.
tana-event-bus provides a unified event streaming infrastructure that all Tana services use to emit structured events. events flow through Redis streams and can be consumed by monitoring tools, notification services, and analytics pipelines.
services import a client library and call a dispatch function to emit events. the event bus server receives these events via HTTP and writes them to Redis streams organized by service, level, and category.
Tana services
|
v
event-bus clients (TypeScript or Rust)
|
v
event-bus server (Rust + Actix-web)
|
v
Redis streams
|
+---> events:all
+---> events:service:{name}
+---> events:level:{level}
+---> events:category:{category}
events follow a standardized schema:
{
"timestamp": 1732464000000,
"service": "ledger",
"level": "info",
"category": "block_production",
"message": "block finalized",
"metadata": {
"height": 123,
"txCount": 5
}
}
the event bus has three components:
all three components share type definitions to ensure consistency across the ecosystem.
a single event bus provides:
services import the appropriate client and call dispatch with event data. the client handles serialization and HTTP transport. consumers subscribe to Redis streams filtered by their needs.