LoginSignup
0
0

thirdwebを利用してOasysのテストネットにエアドロップ用のNFTをデプロイ

Last updated at Posted at 2023-11-24

はじめに

ノーコードツールのthirdwebを利用してOasysのテストネットにNFTをデプロイします。

今まではSolidityとopenzeppelinでNFTのコントラクトをスクラッチ実装していたが、基本的な処理をするコントラクトはthirdwebがラインナップとして提供しているものがあるので、そちらを利用した方が開発が楽にできそうであった。

今回はNFTのエアドロップを簡単に設定可能な、「NFT Drop」をデプロイする。

事前準備

1. ウォレットの準備とthirdwebアカウントの作成

thirdwebを利用するためにはWeb3のウォレットが必要となる。今回はMetamaskを利用してthirdwebを利用する。

Metamaskは、ChromeウェブストアからChrome拡張ダウンロードし、アカウントを作成する。

ウォレットの作成手順は以下のリンクなどを参照。

ウォレットの準備ができたら、thirdwebにアクセスする。

アクセス後「Connect Wallet」よりウォレットとの接続を行う。

スクリーンショット 2023-09-24 11.44.19.png

利用するウォレットを選択する画面が表示されるため、「Metamask」を選択する。

スクリーンショット 2023-09-24 11.42.23.png

初回の場合、サインインの要求画面が表示され流ので「Sign In」を選択する。

スクリーンショット 2023-09-24 11.46.35.png

その後Metamaskの拡張機能が開き、thirdwebのページに対して署名が要求されるため、「署名」を選択する.

スクリーンショット 2023-09-24 11.46.43.png

ダッシュボード画面に遷移する。画面右上にMetamaskのアイコンが表示されていれば、正常に接続されている状態となる。

スクリーンショット 2023-09-24 11.48.46.png

2. OasysのTestnetに接続

Metamaskに設定を追加し、Oasysのテストネットに接続する。今回はOasysのテストネットの一つである、HUB-Testnetに接続する。

Metamaskの詳細メニューより、「設定」 > 「ネットワーク」を選択する。
現在接続可能なネットワークの一覧が表示されるので、「ネットワークを追加」を選択する

スクリーンショット 2023-09-24 21.21.28.png

以下のネットワークの追加画面に遷移する。一般的なネットワークであれば検索エリアから追加が可能だが、Oasysのテストネットは検索では出てこないため、「ネットワークを手動で追加」から手動で追加する必要がある。

スクリーンショット 2023-09-24 21.22.40.png

testnetの情報を入力する。「ネットワーク名」は任意の名称で、それ以外はこちらの情報を入力する。

項目 入力内容
 ネットワーク名 任意の名称。今回は「Oasys Testnet Hub」を選択する
新しいPRC URL https://rpc.testnet.oasys.games
チェーンID 9372
通貨記号 OAS
ブロックエクスプローラーのURL https://explorer.testnet.oasys.games/

スクリーンショット 2023-09-24 21.33.57.png

ネットワークが追加されたらポップアップが表示されるので、「Oasys Testnet Hubに切り替える」をクリックする。

スクリーンショット 2023-09-24 21.35.31.png

画面左上を確認して「Oasys Tesnet Hub」と表示されていることを確認する。

スクリーンショット 2023-09-24 21.40.08.png

デプロイに必要なサンプルのトークンは以下のURLから取得する。「Address」の箇所に自身のウォレットアドレスを入力する。

スクリーンショット 2023-09-24 21.42.30.png

3. OasysのテストネットにNFTのデプロイ

NFTをOasysのテストネットにデプロイする。はじめにExploreのページに遷移する。

スクリーンショット 2023-09-24 21.09.50.png

「NFT Drop」を選択し、詳細画面の「Deploy now」をクリックする。

スクリーンショット 2023-09-24 21.10.45.png

メニューが表示されるので、必要情報を入力する。

項目 入力内容
Image (オプション)コントラクトのアイコン(オプション)
Name (必須)コントラクト名、任意の名称
Symbol (オプション)コントラクトが発行するトークンの通貨。Metamask上でトークン数の後に10BTC10ETHのように、単位として表示される
Description (オプション)トークンの概要
Royalties (必須)NFTの二次販売のロイヤリティを受け取るアドレス。デフォルトで自身のウォレットアドレスが表示される
Primary Sales (必須)NFTの初期販売のロイヤリティを受け取るアドレス。デフォルトで自身のウォレットアドレスが表示され

スクリーンショット 2023-09-24 21.50.51.png

「Network / Chain」の項目には、先ほどMetamaskで登録したものと同じ、Oasysのテストネットの情報を入力する。入力が完了したら「Add Network」をクリックする。

スクリーンショット 2023-09-24 22.13.12.png

設定が完了したら「Deploy Now」をクリックする。

スクリーンショット 2023-09-24 22.13.57.png

Metamaskが起動してガス代の見積もりが提示されるため、「確認」をクリックする。

スクリーンショット 2023-09-24 22.14.49.png

再度Metamaskが起動し、署名が要求されるため「署名」をクリックする。

スクリーンショット 2023-09-24 22.25.19.png

デプロイが成功し、以下のダッシュボードが表示されたらNFTの作成完了。

スクリーンショット 2023-09-24 22.26.31.png

4. NFTのMint

サイドバーの「Extensins > NFTs」をクリックする。

スクリーンショット 2023-11-24 16.12.25.png

その後「Single Upload」にNFTをアップロードする。複数ファイルを同時にアップロードするときは、隣の「Batch Upload」を利用する。

スクリーンショット 2023-11-24 16.12.36.png

デプロイが完了したので早速NFTをMintする。「Name」だけ必須項目でそれ以外は任意入力。今回は「Select file」にこのアカウントのアイコンをアップロードする。
※「Select file」でファイルアップロードしても、画面は更新されていない

スクリーンショット 2023-11-24 16.15.50.png

完了したら「Lazy Mint NFT」でNFTをMintする。Metamaskの承認を許可し、しばらく待つとNFTが発行される。ダッシュボードに以下のように表示されれば作成が完了となる。

スクリーンショット 2023-11-24 16.21.32.png

5.請求情報(Claim)の設定

現時点では、デプロイしたNFTは誰もエアドロップできない状態になっている。エアドロップできるようにするには、コントラクトにNFTの販売価格や購入可能なユーザを指定など、請求条件を設定する必要がある。

「Claim Conditions > Add Phase」よりNFTの請求条件を設定する。今回は誰でも請求できるように「Public」を指定する。

スクリーンショット 2023-11-24 16.25.26.png

その後詳細な設定を入力していく。

スクリーンショット 2023-11-24 16.25.32.png

各設定項目に入力する内容は以下の通り。

項目 入力内容
Name 管理者が識別するための名前、任意の名称で良い
When will this phase start? この請求情報が有効になる日
How many NFTs will you drop in this phase? この請求情報でドロップ可能なNFTの数
How much do you want to charge to claim each NFT? NFTのドロップに必要な、手数料を除いたトークン数
How many NFTs can be claimed per wallet? 1つウォレットが獲得可能なNFT数

今回は特に指定せず、デフォルトのまま利用し「Save Phase」をクリックする。Metamaskの承認が完了ししばらくすると請求情報が一覧に表示される。

スクリーンショット 2023-11-24 16.45.43.png

こちらで「Claim」の設定が完了となる。

6. エアドロップの実行

準備ができたので、エアドロップを試してみる。NFTsのダッシュボードの「Claim」ボタンから実行する。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3136333638302f36356636356339382d323933662d636131632d306335352d3435366433653437643462332e706e67 (1).png

「Claim」の数量を聞かれるので「1」を入力し、「Claim NFT」をクリックする。

スクリーンショット 2023-11-24 16.23.32.png

実行するとNFTのOwnerが自分のウォレットアドレスになっている。

スクリーンショット 2023-11-24 16.54.14.png

Oasysのテストネットにエアドロップ用のNFTをデプロイできた。

おわりに

thirdwebを利用することで、簡単にNFTを作成~デプロイまで実行できた。今までSolidityでスクラッチ開発していたが、よほど特殊な機能を持たない限り、こういったノーコードツールで実装できると良さそう。

thirdwebはSDKも充実していいるので、そこらへんも紹介したいですね。

フルスクラッチで実装する場合

 コントラクトをPythonで実行する場合

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0