Inter-chain Messaging Facility (ICMF)
The Inter-chain Messaging Facility (ICMF) facilitates communication between blockchains within a single dapp cluster. It serves as an event-based service that enables blockchains to read data from each other and act accordingly.
Overview
By default, blockchains running in a single dapp cluster cannot communicate with each other. The ICMF protocol solves this limitation by providing a structured way for blockchains to exchange information and coordinate their operations.
How ICMF works
ICMF operates as an event-based messaging system:
- Event emission: Source blockchain (
blockchain_#1
) emits events - Event subscription: Target blockchain (
blockchain_#2
) subscribes to these events - Event processing: Target blockchain reads events and triggers corresponding functions
- Action execution: Functions execute based on the event content
Event-driven architecture
┌─────────────────┐ Events ┌─────────────────┐
│ Blockchain A │ ──────────────────→ │ Blockchain B │
│ │ │ │
│ • Emits events │ │ • Subscribes │
│ • Triggers ICMF │ │ • Processes │
│ • Continues │ │ • Executes │
└─────────────────┘ └─────────────────┘
Use cases
Asset transfers within a cluster
- Transfer tokens between different blockchains in the same dapp cluster
- Maintain balance consistency across chains
- Enable complex multi-chain transactions
State synchronization
- Keep related data synchronized across blockchains
- Trigger updates when state changes occur
- Maintain consistency in distributed applications
Workflow coordination
- Orchestrate multi-step processes across blockchains
- Implement business logic that spans multiple chains
- Enable complex dapp architectures
Event notifications
- Notify other blockchains of important events
- Trigger automated responses to specific conditions
- Implement reactive patterns in multi-chain dapps
Learn more
For detailed implementation examples and step-by-step guides, see the ICMF use case documentation.
For hands-on learning, check out the Build an event-driven multi-blockchain dapp course on Chromia Learning.