Darwinia Msgport is built upon a flexible and modular architecture, allowing users to harness various cross-chain messaging layers that best suit their specific needs. Msgport provides support for sending arbitrary messages through different low-level cross-chain messaging services.
For an example receiver dApp, please refer to the ExampleReceiverDapp file.
-
Obtain the message port addres.
a. From the address list part: Supported chains
or
b. Through portRegistry contract:
portRegistry.get(uint256 chainId, bytes4 code)
-
Retrieve the
fee
and adapterparams
from the Msgport API -
Send the message using the following parameters
-
toChainId: uint256 - Use the standard EVM chainId. Supported chains
-
toDapp: address - The address of your receiver dApp.
-
message: bytes - The payload of your message.
-
params: bytes - Adapter params obtained from the Msgport API in step 2.
messagePort.send(toChainId, toDapp, message, params);
-
-
You can verify the senderPort and senderDapp addresses when reciving the message.
For an example, please check Verify example
To install dependencies and compile contracts:
git clone --recurse-submodules https://github.com/darwinia-network/darwinia-msgport.git && cd darwinia-msgport
make tools
make
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.