Hello, Web3 World!!

Rinkebyでテストデプロイしよう

目次 [hide]

本パートではRinkebyというテストネットワーク上で、NFTをMintする手順を開設していきます。

主な作業内容としては

  1. コンパイル:ソースコードから機械が解釈できるコードに変換
  2. デプロイ:コンパイルしたコードを、ユーザが実行できる状態に変換してアップロードする

という2つを行っていくので順番に説明していきます。

コンパイル

コンパイルとは人間が読めるコードから、機械が解釈できるコードに変換することです。

ここで行うことは次の4ステップとなります。コンパイルしたいSolidityファイルを開いた状態で進めていきましょう。

  • ① アイコンパネルの上から2番目の「COMPILER」を選択
  • ② コンパイラのバージョンのチェック
  • ③ 「Enable optimization」にチェックを入れる
  • ④ 「Compile」ボタンをクリック
Remix - コンパイラ

「Compile」ボタンを押した後に、以下のように画面が変化していれば無事コンパイル完了です。

Remix - コンパイル後
コンパイラのバージョンとpragma
コード内のpragma solidity >=0.7.0 <0.9.0;という部分では、どのバージョンとしてコードを解釈するかを定義しています。
ここで定義されたバージョンと、実際にコンパイルを行うバージョンが異なると、予期せぬ挙動を引き起こす可能性があるので実行ができません

詳しくは別記事で紹介しているので、理解を深めたい方はそちらを参照ください

デプロイ

続いてデプロイ設定を行っていきます。「デプロイ」とはコンパイルしたコードを、ユーザが実行できる状態に変換し、アップロードするという意味になります。

ネットワークの切り替え

まず、テストネットワークにデプロイを行いたいため、MetaMaskの「ネットワーク」より「Rinkebyテストネットワーク」を選択してください。

MetaMask - Rinkebyテストネットワークへの切り替え

Rinkeby上にETHがない場合は、Chainlink より、テストネット用のETHを入手することができます。以下の画像の手順でリクエストを送ると、すぐに0.1ETHを獲得することができるのでお試しください。

Image from Gyazo

デプロイ設定

まずは以下の手順で画面を操作していきましょう。

① アイコンパネルの上から3番目の「DEPLOY & RUN TRANSACTIONS」を開く
② 「ENVIRONMENT」から「Injected Web3」を選択
  (すぐ下にRinkeby (4) networkと表示されていることを確認しておくこと!)
③ 「CONTRACT」プルダウンにて、contract NFT is …からリネームした名前があるはずなのでそれを選択
④ 「Deploy」の右の「∨」を押してデプロイメニューを展開

Remix - デプロイ設定

続いて「DEPLOY」欄に必要な情報を入力します。小さい画面ですがとっても重要な情報なので注意して入力していきましょう。

(1) _NAME:コレクション名
・OpenSeaに表示されるコレクション名
・他のNFTの名前と重複しているとV2のようなテキストが最後に付いてしまうので注意

(2) _SYBMOL:シンボル名
・NFTの略称。頭文字をまとめたものなど大文字で記述

(3) _INITBASEURI:ベースURI
・メタデータのベースのURLを記載(画像の方ではないので注意
・Pinataで発行されたCIDを使って、ipfs://【CID】/の形で記載
・最後は/で終わらせること!

(4) _INITNOTREVEALEDURI:Reveal前URI
・Reveal前に表示するためのメタデータのURLを記載
・…ですが、本記事ではRevealは扱っていないので「test」などを入力しておきましょう

Remix - transact

デプロイ

ここまで来たらデプロイです。「DEPLOY」欄の下にある「transact」をクリックしましょう。MetaMaskが起動し、ガス代が表示されるので内容をチェックして「確認」を押してください。

Remix - transactガス代の確認

処理が完了すると、わかりづらいですが、「Deployed Contracts」に項目が追加されているので、左側の「>」をクリックして展開してみてください。

Image from Gyazo

いろいろなボタンが並んでいると思うのですが、まずは青いボタンをポチポチと押してみて、コードに入力した内容が反映されているかを確認してみましょう。(他の色のボタンはガス代が発生するのでご注意ください)

Remix - 変数の中身の確認

内容が問題なさそうなことを確認したら、最初に設定したpausedfalse(NO)にしてMintできる状態にしていきます。

オレンジ色の「pause」の右側のテキストボックスにfalseと入力して、「pause」ボタンをクリックしましょう。

ここでもMetaMaskが起動し、ガス代(こっちは安め)が表示されるので、「確認」を押して進めてください。

Image from Gyazo

処理が完了するまで時間がかかる可能性がありますが、画面下の「ターミナル」にて、チェックマーク付きのログが表示されればOKです。

Image from Gyazo

NFTのMint

ここまできたらようやくMintです。赤い色の「mint」の右側のテキストボックスにMintしたい数を入力して、「mint」ボタンをクリックしましょう。

MetaMaskが起動するので、「確認」をクリックしたらMintが開始されます。

Image from Gyazo

ちなみに、前パートで入力したmaxMintAmountを超える数を入力してMintしようとするとエラーになります。余裕のある方は制限が正しく機能しているか試してみても良いですね。

Image from Gyazo

Mintのトランザクションが完了したら、OpenSea Testnets を開いてみましょう。このページはテストネット用のOpenSeaページとなります。

表示されるまでに時間差があることもありますが、「Collected」にNFTが追加されていれば無事Mint完了です!

Image from Gyazo

本番ネットワークにデプロイする前に、名前や説明文など設定した内容が反映されているかどうかをここで確認しておくことをオススメします。