Our solution
The following describes the workflow and components involved in our advanced Address Management System, as illustrated in the diagram.

Workflow Overview
User Interaction:
Users create monitors through an API to track specific blockchain events or transactions.
Worker Process:
The worker loads block data from the blockchain network (e.g., Ethereum, Binance Smart Chain).
Events and transactions from the blockchain are added to a Kafka queue for further processing.
Event Processing:
Events are retrieved from the Kafka queue.
The monitor system processes these events to match predefined conditions set by the user.
Data Management:
Matching conditions and event data are stored and managed within a database.
The monitor retrieves and processes stored data as per the user's configuration.
Event Delivery:
The webhook system is used to send the matched events to the users.
Users receive notifications or data through the webhook, ensuring real-time updates.
Detailed Components
API
Purpose: Allows users to create and configure monitors for specific blockchain events.
Interaction: Users interact with the API to set up monitoring conditions.
Worker
Purpose: Loads block data from the blockchain network and adds events/transactions to the Kafka queue.
Interaction: Continuously communicates with the blockchain network to gather data.
Kafka
Purpose: Acts as a message broker to handle event and transaction data flow.
Interaction: Queues events and transactions for processing by the monitor system.
Monitor
Purpose: Processes events from Kafka, checks against user-defined conditions, and interacts with the database.
Interaction: Retrieves and processes data, matches conditions, and stores results in the database.
Database
Purpose: Stores event data, user configurations, and matching conditions.
Interaction: The monitor reads from and writes to the database to manage event data and user configurations.
Webhook System
Purpose: Delivers matched events to users in real-time.
Interaction: Sends notifications or data to users based on their configured monitors.
Last updated
Was this helpful?