NFTのチェーン移動を体験してみよう(omni chain)
皆様。いかがお過ごしでしょうか。楽しいNFTライフをエンジョイしていますか。
この度、私がエンジニアとして関わっているベリロンタウンが、OmniChain として Ethereum - Polygon 間の移動に対応しましたので、これを機にチェーン移動を体験してほしくて記事を書きました。
今回、LayerZero という技術をNFTに埋め込んでおり、この技術を使うと、対応しているあらゆるチェーンにNFTを飛ばすことが出来ます。
今のところ、EthereumとPolygonにベリロンタウンが移動できるようになっています。
Ethereum 版
https://opensea.io/collection/verylongtown
Polygon版
https://opensea.io/collection/verylongtown-polygon
本当は、Webサイトを利用して簡単に転送できるようにしたかったのですが、工数がかなり膨大にかかるので、まずはetherscan から直コンで飛ばせるようこの記事を書きます。
チェーン転送のやり方
まずは、こちらのetherscan のページにアクセスします。
https://etherscan.io/address/0x43dd8ca6f882f4b80ea65df6707858a407ce5252#writeContract
これはベリロンタウンのコントラクトになっています。
ベリロンタウンのetherscanから「contract」→「Write Contract」のタブをクリックします。そうすると書き込みコントラクトが表示されます。その後、「Connect to Web3」 をクリックすることにより、Wallet Connectが出来ます。
Wallet Connectが完了したら、次は「sendFrom」関数を表示させ、下記のように入力します。
sendFrom → 0.01 (あとで余った分は返却されます)
_from → あなたのwallet address
_dstChainId → 9 (Polygonのチェーンは9です)
_toAddress → あなたのwallet address
_tokenId → 今回送りたいNFTのToken ID
_refundAddress → あなたのwallet address
_zroPaymentAddress → 0x0000000000000000000000000000000000000000
_adapterParams
→0x00010000000000000000000000000000000000000000000000000000000000030d40
とりあえず、これで入力すればいけます。あとはトランザクションを通せばOKです!10分以内にはPolygon チェーンのコレクションに届くはずです。
PolygonからEthereumに返すときは、PolygonScanのコントラクトで同様に入力してください。(_dstChainID は Ethereumに送る場合は1です)
https://polygonscan.com/address/0xdc2f54190fc5f31cb847cb535b3baf57e5c32d8c
ちなみに、tokenID は、 OpenSeaで送りたいNFTのアドレスを見ると表示されているURLのうち、一番右です。(下記画像だと669)
より詳細に技術仕様を把握したい方は、LayerZeroのWebをご確認ください。
https://layerzero.gitbook.io/docs/guides/master/how-to-send-a-message
OmniChainならではの遊び方
OmniChain の特徴として、チェーンを転送するときに、運営が画像を変えることも可能です。今回は、リビール前の画像がEthereumとPolygonで変わるようになっています。
今後、この仕組みを利用すると、例えばあるチェーンに送ったときにだけ特別なキャラ、特別なお宝を出すなんていうことも可能になります。
ちょっとしたお宝探しの企画なども出来るのではないかと考えています。
最後に
みなさん、Omni Chainについて少しでも知っていただけましたでしょうか。Omni Chainは発想により面白さが無限大に広がってくると思います。アイデアがあれば是非私までご連絡ください。 Twitter name: HayattiQ
また、ベリロンタウンはこちらから買えます。
二次流通(OpenSea)
https://opensea.io/collection/verylongtown
この記事が気に入ったらサポートをしてみませんか?