🎉

OpenSeaに独自コントラクトのNFTを登録してみよう(テストネット編)

2022/05/09に公開

※OpenSeaは何か?独自コントラクトは何か?などの説明は省きます。

コントラクトの作成

まずコントラクトを一から作成するのはかなり手間なのでOpenZeppelinというライブラリを利用します。

https://openzeppelin.com/

今回はNFTの代表的な規格であるERC721を使います。

ソースコードはgithubにあるのですがgitを使ったり、ソースコードを理解する必要があるので今回はもっと簡単な方法を使います。

OpenZeppelinではコントラクトを簡単に作成できるようにContracts WizardというWebツールを用意しています。
https://wizard.openzeppelin.com/

Contracts Wizardでコントラクトを作成する

① ERC721を選択します。

② コントラクトの情報を設定

Name、Symbol、BaseURIを設定します。

NameとSymbolは好きに設定してもらって大丈夫です。

Name : コントラクトの名前
Symbol :

BaseURIはNFTとして登録する画像の場所を示すURL情報を返してくれるベースのURIです。
※のちに細かく説明します。

今回はテストなので、私のgithubにテスト用のmetaDataを用意しているのでそちらを使います。

https://raw.githubusercontent.com/mk1018/openzeppelin-contracts-my/master/meta/

ちなみに中身はこんな感じ

https://github.com/mk1018/openzeppelin-contracts-my/tree/master/meta

{
  "tokenId": "0",
  "name": "test 0",
  "description": "test NFT MetaDeta",
  "image": "https://raw.githubusercontent.com/mk1018/openzeppelin-contracts-my/master/image/0.jpg"
}

③ mint処理の追加

FEATURESではMintableAuto Increment Idsにチェックを入れます。

これで独自コントラクトのコードが完成しました。


Remixでコンパイル、ブロックチェーンへデプロイをする

続いて先ほど作成したコントラクトコードをブロックチェーンで動くようにデプロイ(反映)する必要があります。

RemixというWeb上のIDE(統合開発環境)が使いやすいので利用します。

① Remixを開く

Contracts WizardのOpen in Remixをクリックします。

先ほど作成したコントラクトコードが開かれます。(便利。。

② コンパイル

左側の上から3つ目を選択しCompile Contract ~という青いボタンをクリックします。
コンパイルに成功すると右側の画像のように緑色のチェックマークが入ります。

③ デプロイ

今回はテストネットへのデプロイなのでEthereumのテストネット(Rinkeby)を利用します。

事前準備

事前にMetaMaskとRinkeby上のETHを入手する必要があります。

RinkebyでテストETHの入手

ここら辺のサイトから入手しましょう。
https://faucet.rinkeby.io/
https://rinkebyfaucet.com/

デプロイ

左メニューの上から4つ目を選択しCONTRACTを上記で作成したコントラクトを選択します。

Deplyを押すとMetaMaskが立ち上がるので「確認」を押します。

デプロイが完了するとRemix上のDeplyed Contractsにコントラクトの処理が表示されるようになります。

これでEthereumのテストネットへのデプロイが完了しました。
https://rinkeby.etherscan.io/address/0xbcfae8418c87699680e1bcdac9be81801aa58e8f

Mint(NFTの作成)

続いてNFTを事前に一つ作っておきます。
safeMintにMetaMaskで作成したウォレットのアドレスを入力します。

アカウント名をクリックすると簡単にコピーできます

safeMintの実行

safeMintを実行する為、MetaMaskが立ち上がります。
「確認」を押してsafeMintを実行します。

トランザクションの例:https://rinkeby.etherscan.io/tx/0xb997c2e61c45deec7dac0ec63c11d165e53065c3b56fbd1d83d819838f6a5046

これでMintは完了です。

OpenSeaにコントラクトを登録

OpenSeaではテストネット(Rinkeby)用のサイトを用意してくれています。
https://testnets.opensea.io/get-listed/step-two

Rinkebyを選択します。

先ほど作成したコントラクトアドレスを入力しSubmitを押します。

コントラクトアドレスってどこで見るの?

見方は色々ありますがここからコピーするのが簡単かと思います。

成功したらOpenSeaのアカウントページに飛びます。
私がテスト用に用意した画像が表示されたら成功です。

https://testnets.opensea.io/0x8fD4819eD56408a33eF6b0FE3d267579497FE011/created

Discussion