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

lesson-1_コントラクトのデプロイ

🌏 テストネットにホワイトリストと NFT のコントラクトをデプロイする

テストネットでのコントラクトのデプロイ前に、ガスを必要とせず、デプロイが迅速なため、JS VMを使用してコントラクトを徹底的にテストできます。

最初にPolygon Amoyテストネットでテストトークンを受け取ったことを覚えていますか? 次に、このテストネットへWhitelist.solShield.solのコントラクトをデプロイします。

右上の「Connected」ボタンをクリックし、「Disconnect」を選択します。

image-20230223133803703

Injected Web3 Provider」を選択します。

image-20230223133842606

Metamask」をクリックします。

image-20230223134000225

Amoy」を選択します。

image-20230223134208657

📝 Whitelist.sol をデプロイする

まずWhitelis.solをコンパイルします。

image-20230223134424725

Deploy & Interactionパネルに移動し、最大4つの異なるホワイトリストアドレスを配列で入力します。例:["0xa323A54987cE8F51A648AF2826beb49c368B8bC6","0x4f2249958655e1b78064cc3d1F1b8a0B12D1dbDE","0x03692A0187c6D8Be757Be0f0775b94B484fFC15D","0x643AAe9DA7f3542f370FD87ea1781bD54D541578"]

Deploy」をクリックします。

image-20230223135017015

次のステップは、JS VMを使うのとは異なり、コントラクトを検証することです。コントラクトを検証した後、Etherscanのようなプラットフォームでオープンソース化され、他の人がソースコードをレビューできるようになり、コントラクトの公正さと正確さが保証されます。

ChainIDEは便利なVerifyプラグインを提供しています。ユーザーは対応するScan API Keyを取得するだけで、素早くコントラクトを検証することができます。

Scan Verifierパネルに切り替え、「Polygon API Key」の隣にあるリダイレクトリンクをクリックします。

image-20230223135415733

ログインページで、「Login」または「Click to sign up」のいずれかを選択します。

image-20230114122015922

API Keys」を選択します。

image-20230114122844649

Add」選択します。

image-20230114122902739

AppNameに好きな名前を入力し、「Continue」をクリックします。

image-20230114122923433

その後、API Keyが生成されます(APIキーは他の人と共有しないでください。キーの使用速度には制限があります。私のキーの1つは98TSWD2C57949VSZVFCZ15WKYDVSCMJKQMです)。生成されたキーをコピーします。

image-20230114122953738

ChainIDEに貼り付けます。

image-20230223140212926

また、INTERACTセクションで、対応するコンストラクタとコントラクトのアドレスをコピーします。

image-20230223140319580

Scan Verifierパネルに貼り付け、「Verify」をクリックします。

image-20230223140526416

おめでとうございます、検証成功です!

image-20230223141313801

🛡 Shield.sol のデプロイ

Shield.solのコンパイルから始めましょう。

image-20230223141704965

デプロイページに切り替えます。コンストラクタで

  • baseURIには、メタデータセクションで生成されたIPFS URIを指定します。私の場合はこちらです: ipfs://bafybeihuwmkxnqban2ukneymhwctxfqec5ywrdiqyc7vmyegftrllf7gq/
  • whitelistContractには、今デプロイしたホワイトリストのアドレスを指定します。私のはこちらです: 0x78dd3EA257535E08BA0Ee5d2eB5E5c8C64304AFf

image-20230223142123752

デプロイ後、再びScan Verifierパネルに移動します。検証のために同じbaseURIwhitelistContractを入力します。また、デプロイしたばかりのShield.solコントラクトのアドレスも入力します。「Verify」をクリックし、検証が成功するのを待ちましょう。

image-20230223142357545

素晴らしい、コントラクトに関する部分はほぼ完了しました。次は、ホワイトリストに登録されたユーザーがミント操作を行うためのフロントエンドページを開発する必要があります。

🙋‍♂️ 質問する

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

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

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