見出し画像

【完全保存版】Sygmaを使って、EVMからSubstrateにトークンを送付してみよう!

0 はじめに

今回は「Sygma」を用いて、EVM系のGoerliからSubstrate系のRococo Phalaにトークンを送付します。

1 実際にやってみよう

こちらのやり方は、下の記事とほぼ同じです。

異なるのは、どのフォルダで実行するかの第4節の部分だけです。

cd examples/evm-to-substrate-fungible-transfer/
yarn run transfer

2 コードを読んでみよう

実は、コードもEVM(Goerli)からEVM(Sepolia)への送付の際とほとんど同じです。

これはプロトコルが異なるにも関わらず、その違いを意識せずに行うことができ、面白いと思いました。

違いは、こちらの「チェーンID」「送付先アドレス」「リソースID」くらいです。

なお、下にあるように、「5CD…1Vt」Rococo-Phara上では、「3zm…2z8」と表されます。

「リソースID」どのトークンを送るかによって代わり、今回の場合は、こちらになります。

https://docs.buildwithsygma.com/environments/testnet/

3 処理の流れを確認しよう(EVM側)

まず、今回やりたいのは、このような流れです。

とはいえ、Goerli側はEVM→EVMの流れと同じなので、詳細は省略します。

https://goerli.etherscan.io/tx/0xc6f08730812b64fb44239fa48c9540b3888268f043fb83d5a5b9d2c9f9e49ea9

4 処理の流れを確認しよう(Substrate側)

1 polkadot.jsでローカル環境を立ち上げよう

今回、Substrateの送り先の「Phala」テストネットは現時点ではエクスプローラーがないようですので、ローカルで設定する必要があります。

まずは、polkadot.jsエクスプローラーにアクセスします。

現在、私はAstarにつながっています。

下の矢印を選択します。

「開発環境」に進み、「カスタムエンドポイント」phalaテストネットエンドポイントを設定します。

wss://subbridge-test.phala.network/rhala/ws

できましたら、Switchで反映させます。

接続の初期化には少し時間がかかります。

2 チェーンの状態を確認しよう

繋がりましたら、チェーン状態を確認しましょう。

「ディベロッパー」から「チェーン状態」

「選択されたステートクエリー」「system」にし、「Option」にアドレスを入れます。

その上で、「+」を選択します。

すると、下のようになりました。

「free」使用可能な残高を表しているので、ここに数値が出ていれば、うまくつながっていることがわかります。

3 エクスプローラーを確認しよう

では、実際の流れを見てみましょう。

「Network」から「エクスプローラー」を開きます。

4 処理を確認しよう

では、処理を実行します。

第1章の流れに沿って、次のように、処理を行います。

少し待つと、下のように、イベントをキャッチしました。

ここでは「346,629」というブロックで処理が行われているようです。

下のブロックを選択してみましょう。

このように、「436H4…」から引き出されていることがわかります。

この部分は推測です
「436H4…」5トークン引き出し「436H4…」送付先に送っているのではと考えました。

続いて、下のように「Deposit」が行われています。

「3zm…」は送付先として指定していたアドレスです。

このようにして、送付先に送られていることが確認できました。

今回は以上です。

ぜひ、手を動かしながらやってみてください。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊