コースの紹介
はじめに
🎉 自己紹介
皆さんこんにちは、講師の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を選択します)。