DEV Community

N1ghtStorm
N1ghtStorm

Posted on

HRMP Channels

In order there are some articles about opening HRMP channels:

https://wiki.acala.network/build/development-guide/composable-chains/open-hrmp-channel
https://docs.manta.network/docs/guides/XcmOnboarding#get-the-relay-encoded-call-data-to-open-hrmp-channel
https://docs.substrate.io/tutorials/connect-other-chains/rococo-slot/

Also make sure that Sovereign account on relay chain has balance to run transaction:
Image description

Note:

To acquire ROC, join the Rococo faucet matrix channel and use the !drip command in the faucet channel to get 100 ROC in your wallet.

Tip:

To Get Sovereign account - use this:
https://github.com/Manta-Network/dev-tools/blob/main/caclulate-sovereign-account/calculateSovereignAddress.ts

Here is parachain sovereign account 2000 (the AcountId32):

0x70617261 + d0070000 + 000000000000000000000000000000000000000000000000

0x70617261 = b"para" (up/down) or 0x7369626c = b"sibl" (side-to-side)

d0070000 = scale encoded number 2000

You can see the scale encoding of a u32 by typing the number into collatorSelection/setDesiredCandidates and looking at the encoded call details on the bottom right by max that is the encoded version of 2000.
enter image description here

To copy and paste:

1000: 0x70617261e8030000000000000000000000000000000000000000000000000000

2000: 0x70617261d0070000000000000000000000000000000000000000000000000000

2001: 0x70617261d1070000000000000000000000000000000000000000000000000000

2002: 0x70617261d2070000000000000000000000000000000000000000000000000000

(That's also enough examples that you could guess the rest. I do think that we need an easy way to get these from polkadot-js maybe from the parachain screen? - PRs welcome!)

If you want a normal polkadot/kusama address then you can use the "AccountId to Hex" at

  • paste in the above on the right hand side as the hex and you will get the address calculated. For example, for 1000 parachain id it returns 5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ

Top comments (0)