Wormhole is comprised of several noteworthy components. Before we go into each component in depth, let's talk about the names of the major pieces and how they fit together.
- Emitter - A contract that calls the publish message method on the Core Contract. The core contract will write an event to the Transaction Logs with details about the emitter and sequence number to identify the message. This may be your xDapp or an existing ecosystem protocol.Some existing contracts that are Emitters:
- Relay Contracts - Contracts that allow cross chain applications to send messages to a specific blockchain via the decentralized Generic Relayer network.
- Worm Router Contracts - Contracts that allow developers to make their Dapp an cross chain application that users on any Wormhole supported chain can interact with purely through client-side code.
- Transaction Logs - Blockchain specific logs that allow the Guardians to observe messages emitted by the core contract.
- Guardian Network - Validators that exist in their own P2P network. Guardians observe and validate the messages emitted by the Core Contract on each supported chain to produce VAAs (signed messages).
- Relayer - Any off chain process that relays a VAA to the target chain.
- Specialized Relayers - Relayers that only handle VAAs for a specific protocol or cross chain application. They can execute custom logic off-chain, which can reduce gas costs and increase cross-chain compatibility. Currently, cross chain application developers are responsible for developing and hosting specialized relayers.
Last modified 3mo ago