This weekend I built the PAPI Teleporter DApp, which can be used for teleporting DOT/KSM between Polkadot AH ↔ Kusama AH (among many other teleporting options). It’s also able to display the balances of those foreign assets, which I’m afraid that’s something that no other dApp is doing ATM.
The code of the DApp can be found here. I built this DApp because we needed a non-trivial example DApp for the imminent announce of the beta release of PAPI.
A few things about this DApp:
- It only uses smoldot. Meaning, that it’s an actual decentralized application, which doesn’t rely on centralized servers.
- It only uses the new JSON-RPC API, thanks to the fact that it’s built with Polkadot-API.
- It’s an actual multichain dApp which is simultaneously connected to 8 different chains.
- I have tested it quite a bit and I think that it works well. However, I have not tested all the possible permutations. So, please review your transactions before you sign/submit them. Please keep in mind that (for now) this is just a demo DApp built mostly during my spare time. It has not been properly tested (yet).
- The connection with Rococo AssetHub is currently not working because I haven’t been able to find a single boot-node for Rococo AssetHub that runs over a TLS WebSocket connection. Unfortunately, Polkadot-SDK doesn’t yet support WebRTC connections, which means that the light-client (while running on the browser) can only communicate with WSS endpoints. I have reached to Parity to see if they can enable a WSS bootnode for Rococo AssetHub, and I think that this issue will be solved very soon.
- We still don’t know how to properly calculate the fees for these kinds of teleported transactions. So, the fees that are displayed in the UI are the “normal” fees that we get by calling the
TransactionPaymentCallApi_query_call_fee_details
runtime-call. We would really appreciate some guidance on this matter. As as soon as we learn what is the proper way for calculating the fees of these “bridged teleported” transactions, we will update the UI accordingly. CC @acatangiu could you please help us out on this?
Please try it out and give us feedback! Thanks a lot!