Astar PortalでのXCMの使い方
こんにちは、you425です。
ついにPolkadotでフル機能ではないもののXCMが使えるようになり、AstarやShidenに資産を移動することが出来るようになりました。
この記事では、公式のドキュメントに沿ってやり方を説明しつつ、補足や注意事項を追記していきます。
また、XCMに関してはPolkadotに関する理解があるとスムーズに頭に入ってくるので、知らない方は以前書いた記事を読んでおくことをお勧めします。
XCMの概要
XCMは、相互運用可能なネットワークにおいて、どのようにメッセージ転送を行うべきかのフォーマットです。 Cross-Consensus Messagingは、チェーン、スマートコントラクト、パレット、ブリッジ、そしてSPREEのような(ブロックチェーン間で)断片化されたエンクレーブの間で行われます。
XCMの意義は、PolkadotのネイティブコインであるDOTが、Polkadotネットワーク上のすべてのParachain間で取引、送信、合成できる画期的な機能に起因しており、KSMがKusamaにとってそうなるのと同じです。
ここでは、PolkadotからAstar Portal上にXCMを経由してDOTを転送する方法を説明します。ShidenのKSMも同じ手順でできます。
また、HRMPは近々登場する予定です。現在、最初のアセットとしてDOTを転送する機能がありますが、数週間後にHRMPが使えるようになると、任意のトークンになります。
重要なことは、XCMが2つのシステム間の通信言語として設計された汎用メッセージ・フォーマットであることです。その名の通り、必ずしもSubstrateベースやDotsamaチェーンだけに縛られるものではなく、あらゆるコンセンサスを利用するシステムで採用・利用することが可能です。
必読!!注意事項
Existential Deposit(実存残高)を意識する
PolkadotやKusamaにはExistential Deposit(実存残高)というものが存在します。
Polkadotでは1DOTが、Kusamaでは0.0000333333KSM以上ウォレットに残っていないと、DOTやKSMが徴収されアカウントがノンアクティブ(削除されるわけではない)になります。
これは、ブロックチェーンのリソースを節約するためです。
実存残高がない場合使われていないウォレットだと判断されステータスを削除し無駄を減らします。
そのため、ウォレット内のDOTやKSMが規定量を下回らないようにする必要があります。
再度ウォレットに残高を作れば復活しますが、ガス代と割り切って残しておきましょう。
推奨:Polkadot:1.05DOT、Kusama:0.00004KSM
執筆現在(2022/05/19)は一方通行
執筆現在、XCMでAstarやShidenに持ってきたDOTやKSMは戻すことが出来ません。さらに、EVMアカウントに入れたDOTやKSMはNativeアカウントに戻すこともできません。今出来る動きは以下のようになります。
Relaychain>Astar Native>Astar EVM
Relaychain>Astar EVM
Nativeアカウント間やEVMアカウント間は通常通り転送可能です。
PolkadotからAstarへのXCM転送
Assetsページに行くと、XCM Assetsパネルが有ります。
XCMボタンを押すと、XCMポップアップが出ます。
ここでは、PolkadotからAstar NetworkにDOTを送信したいと思います。タブが2つあり、1つはNativeアカウントへ、もう1つはEVMアカウントへ送信します。リレーチェーン(DOT)から送信できる残高を確認することができます。
送信する金額を入力し、確認ボタンを押します。取引にサインするためのポップアップが表示されます。
トランザクションが確認されるまで待ちます。確認後、再度XCMの資産を確認すると、XCMのウォレットにDOTがしっかり送られていることが確認できます。
転送ボタンをクリックすると、他のアカウントに資産を転送するポップアップが表示されます。
PolkadotからAstar EVMへの転送
Assetsページに行くと、XCM Assetsパネルが有ります。
XCMボタンを押すと、XCMポップアップが出ます。このチュートリアルでは、Deposit to EVMを使います。
受信したいEVMアドレスを入力し、送信したい金額を入力し、確認ボタンを押してください。取引にサインするためのポップアップが表示されます。
トランザクションが確認されるまで待ちます。確認後、DOTトークンをEVMウォレットに追加することができます。XC20をMetaMaskに追加する方法については、次のセクションで詳しく説明します。
MetamaskでのXC-20の管理
Assetsページに移動したら、MetaMaskのアカウントでログインして、すべてのアセットを確認します。
上のスクリーンショットにあるように、EVMアカウントにDOTアセットが入っています。では、このアセットをMetaMaskに追加してみましょう。
Import tokensをクリックすると、以下の情報がインポートされます。
Token Contract Address: 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF
Token Symbol: DOT
Decimals: 10
DOTアセットの追加とインポートが完了すると、ウォレットに表示されます。対応アセットの全リストはこちらで確認できます。