📥Cross-chain Message
Last updated
Last updated
The xOracle Cross-chain Message service facilitates secure and efficient communication between different blockchain networks. This service utilizes a combination of smart contracts, signers, and a relayer to ensure secure, authentic, and efficient communication between different blockchain networks. The DApp can transmit messages across chains with the simplicity of a single transaction.
The service is divided into three main layer components:
1. DAPP
Endpoint (Sender): This is the DApp smart contract deployed on the source chain to starting sends the message to the xOracle Message Contract on the source chain.
Endpoint (Receiver): The destination DApp smart contract on the destination chain. It receives the message (payload) from the source chain.
2. Message Core
xOracle Message Contract (Source chain): This contract handles the sending of messages from the source chain. When a message is sent, signaling the need for Message Signers to sign message data and send stored on Messenger Contract.
Messenger Signers: A group of nodes that sign the message data to ensure its integrity and authenticity send newMessage to store on Messenger Contract on xOracle chain.
Relayer: This component listens for new incoming messages, fetches the necessary message data from the xOracle API, retrieves messages with signatures, and sends fulfillMessage to the xOracle Message Contract on the destination chain to verify signatures and fulfill message (payload) to the Endpoint (Receiver) on the destination chain.
xOracle Message Contract (Destination chain): This contract handles the receipt fulfill message and verification signature on the destination chain to ensure the received message is verified and authentic.
3. xOracle Chain
Messenger Contract: This contract stores messages and signatures from Messenger Signers, ensuring they are available for verification. A valid message must collect a specified number of signatures.
This design ensures the message's validity, prevents counterfeiting, and provides transparency for verification.
For more examples using a Cross-chain Message: Sending cross-chain message.