Event Streams and Data Caching
In a distributed transactional system built on Blockchain, detection of and reaction to events is an inevitable requirement. No single participant or application is in control of the state changes, and it is impossible for Smart Contract logic on-chain to communicate directly with off-chain systems – or the determinism of the logic would be compromised.
But that’s alright, because Ethereum is built for event-driven applications.
Events (delivered via transaction ‘logs’) are a core part of the programming model, and are simple to emit with a rich type system.
These events can be used not only to trigger logic, but also as a feed of data to stream off of the chain.
- Data caches for efficient rich query in Mobile and Web experiences
- Real-time analytics engines and data-lakes
- Server-less or traditional compute triggering applications & business process
Kaleido provides two built-in capabilities for handling these events, without needing to work directly with the complex raw JSON/RPC interfaces, handle checkpoint restart/recovery, or RLP decoding and type mapping.
Out of the box reliable streaming of events.
Use REST APIs integrated with the REST API Gateway to subscribe, and deliver events over a simple Webhook to any HTTP interface, or via the encrypted App 2 App Messaging tier backed by Apache Kafka.
A rules driven decentralized Oracle service, with a Smart Contract API to request data and processing off chain, then trigger follow-on transactions with the results. This deterministic approach to integrating off-chain data sources in private or public networks, with on-chain logic, allows rich decision making to happen on-chain.