メインコンテンツまでスキップ

コースの紹介

はじめに

🎉 自己紹介

皆さんこんにちは、講師の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流通市場で転売したり、保有したりすることができます。以上がこのコースで行うことの概要です。

これがミントページです:

image-20230223171808615

これが完成後のOpenSeaでの様子です:

image-20230223163620536

🌍 プロジェクトをアップグレードする

この学習コンテンツは、UNCHAIN License のもとで運用されています。

プロジェクトに参加していて、「こうすればもっと分かりやすいのに!」「これは間違っている!」と思ったら、ぜひpull requestを送ってください。

GitHubから直接コードを編集して直接pull requestを送る方法は、こちらを参照してください。

どんなリクエストでも大歓迎です 🎉

また、プロジェクトを自分のGitHubアカウントにForkして、中身を編集してからpull requestを送ることもできます。

  • プロジェクトをForkする方法は、こちら を参照してください。
  • Forkからpull requestを作成する方法は、こちら です。

👋 UNCHAIN-projectspull requestを送る! ⏩ UNCHAIN の GitHub にアクセス!

⚡️ Issueを作成する

pull request送るほどでもないけど、提案を残したい! と思ったら、こちらIssueを作成してみましょう。

Issueの作成方法に関しては、こちらを参照してください。

pull requestissueの作成は、実際にチームで開発を行う際に重要な作業になるので、ぜひトライしてみてください。

UNCHAINのプロジェクトをみんなでより良いものにしていきましょう ✨


MetaMaskの設定

準備

🛠 MetaMask ウォレットの設定

MetaMask をインストールする

スマートコントラクトをブロックチェーンにデプロイしたり、デプロイされたスマートコントラクトとやり取りしたりする際には、ガス代が必要になります。そのため、MetaMaskのようなweb3ウォレットが必要です。MetaMaskのインストールはこちら

MetaMask に Polygon Amoy を追加する

Polygonは、セキュリティを犠牲にすることなく、スケーラブルでユーザーフレンドリーなdAppsを低い取引手数料で構築できる分散型のEthereum Layer 2ブロックチェーンです。OpenseaやRaribleなどの主要なNFTプラットフォームもPolygon Mumbaiテストネットをサポートしているため、私たちはスマートコントラクトのデプロイ先にMumbaiを選択します。

ChainIDEを開き、下図に示すようにフロントページの「Try Now」ボタンをクリックします。

image-20230816160925822

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

image-20230816161111357

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

image-20230816161348702

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

image-20230114120433122

テストネットのトークンを要求する

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

image-2023011412043342

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#polygonで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット