-
Notifications
You must be signed in to change notification settings - Fork 113
The architecture of Event Manager
The event manager is a light-weight and high efficiency module providing the asynchronous message delivery. The goal of this module is trying to decrease the module dependency between the module of the Aion blockchain kernel. Therefore, any module can register the events it want to receive and sent the events to notify the other module has subscribed the events.
Event Manager src
Before start to use the event manager, the kernel needs to register the predefined event callbacks to the event manager to enable the event dispatching abilities in the event manager. When the kernel generate a new event, the event can be added into the event manager by calling newEvent or newEvents.
EventExecuteService<src
To listening the events, you should use EventExecuteService to retrieve the events by setting the event filters. When the event happens, the Event dispatcher in the event manager will dispatch the events to EventExecuteService instances if the event filter has been setup.
Event src
Aion blockchain kernel defines 5 event categories, and Each event defines it own event callback. For example, in Block category, There are 3 event callback in the category: ONBLOCK0, ONTRACE0, and ONBEST0.
Handler src
The event handler is a dispatcher to dispatch the events belong to the same event category to pass events to the EventExecuteService through EventCallback src
Basics
Kernel Configuration
- Build Aion kernel from source
- Installation & Configuration
- Command Line Interface
- Graphical Interface
- Database
- Internal Miner
- Genesis Block
- Aion Seed Nodes
- JSON-RPC API Docs
For Developers
- How to load/debug project to IntelliJ IDEA
- Aion Code Conventions
- Migrating from Ethereum
- Precompiled contract details
- Troubleshooting the kernel
- Aion P2p Specifications
- Aion transaction Specifications
- Aion pending state and the transaction pool
Tutorials
- Importing Accounts
- Kernel Deployment Examples
- Reverting to Previous Blocks
- Application Development
- Enabling-HTTPS-for-JSONRPC
- Enabling Secure connection for Aion Java API
Modules
Tools