Thirdwebを使ったスマートコントラクトのデプロイ
はじめに
このセクションでは、ThirdWebを使用して、マーケットプレイス契約と対応するNFTコレクション契約をカイアネットワークにデプロイする方法を説明します。 このセクションでは、ThirdWebを使用して、マーケットプレイス契約と対応するNFTコレクション契約をカイアネットワークにデプロイする方法を説明します。 Thirdwebは、あなたのアプリやゲームを分散型ネットワークに接続するために必要なすべてを提供する完全なWeb3開発フレームワークです。
マーケットプレイス契約により、ユーザーはNFTを直接販売やオークションに出品することができ、OpenSeaで行われているのと同様にNFTの売買を強化することができます。
このガイドの終わりには、あなたは次のことができるようになる:
- サードウェブを使用して契約を作成し、カスタマイズします。
- thirdwebを使用してスマートコントラクトをコンパイル、デプロイ、実行します。
はじめに
この記事では、サードウェブを使ってコントラクトを作成、カスタマイズ、デプロイするためのさまざまな手段を探ります。
- サードウェブダッシュボードの使用
- thirdweb CLIを使う
このガイドでは、thirdwebダッシュボードを使用してMarketPlaceコントラクトをデプロイする方法と、thirdweb CLIを使用してマーケットプレイスに掲載される対応するnftコレクションをデプロイする方法を示します。
注:スマート・コントラクトの作成、デプロイ、実行のためのサードウェブ・ダッシュボードとCLIを探求することに重点を置くため、マーケットプレイス・コントラクトの仕組みについては説明しない。
サードウェブダッシュボードを使用したマーケットプレイス契約の作成とデプロイ
このセクションでは、thirdwebダッシュボードを使用してマーケットプレイス契約を作成し、デプロイします。 そのためには、以下の手順に従ってください: そのためには、以下の手順に従ってください:
- thirdweb dashboardにアクセスし、契約リストからMarketPlace契約を選択します。
- 契約概要ダッシュボードのDeploy Nowをクリックします。
- マーケットプレイスの名、説明、画像というパラメータを含むように、マーケットプレイスの契約を設定します。
- 上の画像のようにDeploy Nowをクリックし、トランザクションが完了するのを待ちます。
トランザクションが正常に実行されると、Kaiascopeの検索バーに契約アドレスを貼り付けることで、デプロイメントを確認することができます。
thirdweb CLIを使用したNFTコレクション契約の作成とデプロイ
このセクションでは、thirdweb CLIを使用して、マーケットプレイスに掲載するNFTコレクションを作成し、デプロイします。 そのためには、以下の手順に従ってください:
契約書の作成
- ターミナルでこのコマンドを実行し、契約書を作成する:
npx thirdweb create --contract
- コマンドラインのプロンプトにお好みの値を入力してください:
i. プロジェクトに名前をつける。
ii. お好きなフレームワークをお選びください:HardhatまたはFoundry。
iii. スマート・コントラクトに名前を付ける。
iv. ベース契約のタイプを選択する:Empty、ERC20、ERC721、ERC1155。 必要な拡張機能を追加する。 このチュートリアルでは、ERC721を選択し、拡張子をnoneに設定します。
-
作成したら、プロジェクトのルート・ディレクトリに移動し、お好みのコード・エディタでプロジェクトを開いてください。
-
契約書フォルダを開くと、契約書はこのようになっているはずだ:
// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@thirdweb-dev/contracts/base/ERC721Base.sol";contract nftcollection is ERC721Base { constructor( address _defaultAdmin, string memory _name, string memory _symbol, address _royaltyRecipient, uint128 _royaltyBps ) ERC721Base( _defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps ) {}}
この記事では、サードウェブを使ってコントラクトを作成、カスタマイズ、デプロイするためのさまざまな手段を探ります。 上記のコントラクトは、基本的なERC721Baseの機能を示している。 これは ERC721Base 契約をインポートして継承し、コンストラクタとその従属パラメータを含む必要なメソッドも実装している。
コントラクトを希望のカスタム・ロジックに変更することができ、それが完了すれば、コントラクトをデプロイする準備が整う。
契約の展開
- プロジェクトのルート・フォルダーに移動し、ターミナルでコマンドを実行する:
npx thirdweb deploy
このコマンドを実行すると、以下のアクションがトリガーされる:
- フレームワークを検出する(hardhat, foundry)
- は、カレント・ディレクトリにあるすべてのコントラクトをコンパイルする。
- をクリックすると、配備する契約を選択できます。
- コンパイルしたスマートコントラクトのコードを(アプリケーション・バイナリ・インターフェース(ABI)の形で)IPFSにアップロードします。
- 配備が完了すると、ダッシュボードのインターフェイスが開き、残りのパラメータを入力する。
- _name:契約名
- _symbol:シンボルまたは "ティッカー"
- __royaltyRecipient:二次販売からのロイヤルティを受け取るウォレットアドレス
- ロイヤリティBps:二次販売ごとにロイヤリティ受取人に付与されるベーシス・ポイント(bps)。
- 契約を展開するネットワークとして
Kaia Mainnet
を選択する。
- スマート・コントラクトがデプロイされると、ダッシュボードから追加設定や機能を管理できる。 例えば、NFTのアップロード、権限やアクセス制御の設定、新機能の追加などが可能です。
thirdwebのデプロイコマンドについては、こちらのデプロイガイドを参照してください。