Polygonには簡単にデプロイできる。そんなふうに考えていた時期が私にもありました。

Akira Taniguchi
所要時間, 1分
初級

Polygonに対応しました

すでに一昔前な感覚がありますが、弊プロダクトがPolygonネットワークで利用できるようになりました。
手数料が肥大化し、一部のお金持ちしか利用できなくなりつつあるメインネットに比べ、安い価格でDappを利用できるPolygonはNFTなどで人気のあるネットワークとして利用されます。
今までと違って小口での利用も多く、現実的な実運用がされているなという印象を持っています。

ここからは愚痴です

以前Arbitrum版のリリースをしており、Truffleもそのまま利用可能であるため、少なくともコントラクトやデプロイスクリプトなどのバックエンドの修正は必要がない、これは簡単な仕事だと高を括っていました。
結論から言うと甘かったです。

MumbaiのPolygonscanがまともに動かない

Truffleを使ってMumbai(Polygonのテストネット)にDev Protocolをデプロイし、verifyしたものの、なにやら挙動がおかしい状態になりました。
どうやらEtherscanと違って、view関数もwrite関数も画面から実行するとエラーになってしまうようでした。
mainnetのPolygonscanはまともに動作します。また、Truffleを使った、web3.jsを介しての挙動はmumbaiでも特に問題がなかったので、おそらくMumbaiのPolygonscan自体の問題だろうと思われます。
Arbiscanのテストネットでも同様でしたが、こちらはview関数はまともに実行できたので、それよりひどい状況でした。

proxyのソースコードがverifyされない

Mumbaiにデプロイしたコントラクトのverifyをしようとした時のことです。
Truffleのverifyコマンドを実行した時、logicコントラクトは問題がなかったものの、proxyコントラクトにおいてソースコードが登録されませんでした。
コンソールには「success」と表示されているのだが全くsuccessしていない。
しょうがないので、手動でファイルを作成し、画面からverifyしました。
ちなみにmainnetでは問題なくtruffle verifyコマンドでverifyが可能でしたので、またもMumbaiのPolygonscanの問題なのかなと思っています。

HardHatが動かない

Dev Protocol本体はTruffleをベースに実装されていますが、それ以外のサードパーティ的なコントラクトはHardHatをベースに構築されています。
なのでサードパーティコントラクトはHardHatを使ってデプロイしているのですが、これが全く動作しない。
どうやらハードフォーク以降、hardhatとMumbai Polygonの間で問題が発生しているようです。
hardhat-deployと言うプラグインを入れ、Mumbai Polygon専用の独自スクリプトを実装する必要があるらしいです。
mainnet Polygonでは問題ないらしいので、もうMy Eth Walletからバイトコードを使ってデプロイしました。

結局のところ

要はMumbaiがまともに動きません。測らずともtest in prodを実行してしまったと言うのが今回の趣旨です。
Arbitrumでの稼働実績やPolygon mainnetは正常に稼働していること、Dev Protocol自体は350を超える単体テストで常に不具合をチェックしていることなどから、利用することに関しては問題はありません。
(まぁバグのないシステムなんてこの世にはありませんが)
お後がよろしいようで

おまけ

弊社の協力者であるShubham KukretiナイスプレーによりPolygonのドキュメントのブリッジ情報に弊トークンが記載されました。
すごい。

終わり。

🌈 この記事はお役に立ちましたか?

今後より良いコンテンツをお届けしていくために、ぜひご質問やフィードバックなどいただけると幸いです🌱
フォーラムはこちら

- Dev Protocol は全てOSSとして公開しています。ぜひIssueやPRを送ってください📢 時にバウンティがあります。
Dev ProtocolのGitHubはこちら

- Dev Protocol の改善提案(DIP)プロセスも公開されています。ぜひコメントをお待ちしています🌟
DIPはこちら