コースの紹介
はじめに
🎉 自己紹介
皆さんこんにちは、講師のWTOMです。このチュートリアルでは、ChainIDEを使用してホワイトリストに登録された ユーザーだけがNFTをミントできるようにするdAppを開発する方法を紹介します。開発には、Solidity、TypeScript、Reactの知識が必要ですが、心配しないでください。
🎓 ChainIDE とは
ChainIDEは、分散型アプリケーションを開発するためのクラウドベースIDEです。Ethereum、BNB Chain、Polygon、Conflux、Nervos、Dfinity、Flow、Aptosなど様々なブロックチェーンをサポートしています。
開発に必要なプラグインがあらかじめ準備されており、スマートコントラクトの記述、コンパイル、デバッグ、テスト、デプロイなどのためのモジュールも備えています。そのため、複雑な環境構築を行うことなく、すぐにコーディングを始めることができます。
🧱 何を構築するのか
私たちはNFTのミントページを作成したいと考えていますが、NFTを請求できるのは特定の人々だけにしたいと思います。
具体的には、このdAppではユーザーが自身のMetaMaskウォレットを接続できるようにし、ホワイトリストに登録されているユーザーだけがMintにアクセスできるようにします。ユーザーはミントを終えると、NFTをNFT流通市場で転売したり、保有したりすることができます。以上がこのコースで行うことの概要です。
これがミントページです:
これが完成後のOpenSeaでの様子です:

🌍 プロジェクトをアップグレードする
この学習コンテンツは、UNCHAIN License のもとで運用されています。
プロジェクトに参加していて、「こうすればもっと分かりやすいのに!」「これは間違っている!」と思ったら、ぜひpull requestを送ってください。
GitHubから直接コードを編集して直接pull requestを送る方法は、こちらを参照してください。
どんなリクエストでも大歓迎です 🎉
また、プロジェクトを自分のGitHubアカウントにForkして、中身を編集してからpull requestを送ることもできます。
👋 UNCHAIN-projectsにpull requestを送る! ⏩ UNCHAIN の GitHub にアクセス!
⚡️ Issueを作成する
pull request送るほどでもないけど、提案を残したい! と思ったら、こちら にIssueを作成してみましょう。
Issueの作成方法に関しては、こちらを参照してください。
pull requestやissueの作成は、実際にチームで開発を行う際に重要な作業になるので、ぜひトライしてみてください。
UNCHAINのプロジェクトをみんなでより良いものにしていきましょう ✨
MetaMaskの設定
準備
🛠 MetaMask ウォレットの設定
MetaMask をインストールする
スマートコントラクトをブロックチェーンにデプロイしたり、デプロイされたスマートコントラクトとやり取りしたりする際には、ガス代が必要になります。そのため、MetaMaskのようなweb3ウォレットが必要です。MetaMaskのインストールはこちら。
MetaMask に Polygon Amoy を追加する
Polygonは、セキュリティを犠牲にすることなく、スケーラブルでユーザーフレンドリーなdAppsを低い取引手数料で構築できる分散型のEthereum Layer 2ブロックチェーンです。OpenseaやRaribleなどの主要なNFTプラットフォームもPolygon Mumbaiテストネットをサポートしているため、私たちはスマートコントラクトのデプロイ先にMumbaiを選択します。
ChainIDEを開き、下図に示すようにフロントページの「Try Now」ボタンをクリックします。

次に、希望するログイン方法を選択します。ログインプロンプトには2つの選択肢があります:「Sign in with GitHub」と「Continue as Guest」です。このチュートリアルでは「Sign in with GitHub」を選択します。Guestモードではサンドボックス機能が使えないからです。

新しいPolygonプロジェクトを作成するには、「New Project」ボタンをクリックし、画面左側の「Polygon」を選択します。次に、右側の「Blank Template」を選択します。

画面右側の「Connect Wallet」をクリックし、「Injected Web3 Provider」を選択し、Metamaskをクリックしてウォレットを接続します(Polygon Mainnetがメインネットワークで、Mumbaiがテストネットであるため、接続先はMumbaiを選択します)。

テストネットのトークンを要求する
MumbaiがMetaMaskに追加されたら、Polygon Faucetをクリックしてテストネットのトークンを受け取りましょう。Faucetのページで、ネットワークとしてMumbai、トークンとしてMATICを選択し、MetaMaskウォレットアドレスを貼り付けます。最後に送信ボタンをクリックすると、Faucetから数分以内にMATICが送られてきます。

🙋♂️ 質問する
ここまでの作業で何かわからないことがある場合は、Discordの#polygonで質問をしてください。
ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨
1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット