Send your first interchain message in under 5 minutes
$RECIPIENT: The address of the
TestRecipientcontract on the destination chain, left padded to a
bytes32. In our case:
- 2.Under the
Contracttab, find the
Write as Proxybutton.
- 3.Click on the
Connect to Web3button to connect your Wallet (i.e. Metamask). Make sure that you are on the correct network.
- 4.Expand the
- 6.For the recipient address, enter
$RECIPIENT. Remember to make sure to zero-pad this to a
bytes32if you are using your own address. Alternatively, you can use
0x000000000000000000000000BC3cFeca7Df5A45d61BC60E7898E63670e1654aE(our test recipient address).
- 7.For the message body, enter whatever you like! A string-to-hex converter website can help you write your message if you want to send a human-readable message. In the example below, we sent the "Hello World" string as
- 8.Submit the transaction via your wallet/Metamask
How to send an interchain message using Etherscan + Metamask
You can call
cast. Make sure that you have a valid RPC URL for the origin chain and a private key with which you can pay for gas.
cast send $OUTBOX_ADDRESS "dispatch(uint32,bytes32,bytes)" $DESTINATION_DOMAIN $RECIPIENT $(cast --from-utf8 "your message") --rpc-url $RPC_URL
If you view the transaction on a block explorer, you should be able to see the
After the transaction that sent your message is finalized, you should be able to see a corresponding transaction delivering your message to the
TestRecipientcontract on the destination chain. You can watch for this transaction on Hyperlane's Message Explorer by entering the transaction hash or the sender/recipient address in the input field. You can see an example message delivery transaction here.
Test "Hello World" message sent from Ethereum to Polygon, shown in the Hyperlane Message Explorer