Sequence Builderでアイテムコレクションコントラクトをデプロイする方法
このガイドでは、BuilderでWeb3ゲームアイテムコントラクトをセットアップしデプロイする手順を詳しく解説します。ERC721とERC1155コントラクトの違いについても説明し、コントラクトのデプロイ手順を案内します。
このガイドでは、BuilderでWeb3ゲームアイテムコントラクトをセットアップしデプロイする方法を解説します。
前提条件:プロジェクトの作成
このガイドは、すでにBuilderにサインアップし、プロジェクトを作成済みであることを前提としています。
ERC721とERC1155の違い
どちらのコントラクトもNFTをミントできますが、ERC721は初期の標準であり、特にデジタルコレクティブル分野で広く採用されています。シンプルでセキュリティ監査がしやすい点が特徴で、ERC721トークンはすべて固有であるため、多くのNFTマーケットプレイスで認知されています。たとえば、同じ資産を複数扱う場合や、1つのコレクション内に1種類のアイテムが多数ある場合はERC721コントラクトが適しています。
ERC721
の例:Azuki
一方、ERC1155は、ファンジブルトークンとノンファンジブルトークンの両方を1つのコントラクトで効率的にバッチ処理できる柔軟性があります。多くのアイテムと数量の組み合わせを扱う場合に適していますが、その分複雑さが増し、セキュリティ面での注意が必要です。
ERC1155
の例:Skyweaver
ステップ1:コントラクト画面へ移動
左上の project
からコレクティブルを作成したいプロジェクトを選択し、contracts
セクションに進み、+ Deploy new contract
を選択します。
ステップ2:コレクティブルの種類を選択する
次に、Web3ゲームアイテムコレクション(ERC1155)またはNFTコレクション(ERC721)から選択します。この例では、Web3ゲームアイテムコレクション(ERC1155)を例に手順を説明します。
ERC1155
とERC721
のデプロイ時の唯一の違いは、ERC721 NFTコレクションにはsymbol
を追加する点です。
ステップ3:コントラクトの詳細を入力
Contract Name
(コントラクト名)とOwner
(オーナー)を指定してコントラクトの詳細を入力し、必要に応じてロイヤリティも設定できます。オーナーアドレスが右上に表示されているSequenceウォレットであること、また、そのウォレットにメインネットで十分な資金があることを確認してください。テストネットの場合は、これらの取引手数料は当社が負担します。
注意:
name
は後からBuilderのインターフェースで変更できますが、Sequence全体では更新されても、一般的なエクスプローラーは情報を再インデックスしないため、最初に入力した内容がそのまま残ります。
ステップ4:コントラクトのデプロイ
http://sequence.app/sign-transaction のポップアップウィンドウからコントラクトをデプロイし、confirm
を選択して署名します。
すべてのテストネットでは無料で取引できます。
オプション:コントラクトにMinterロールを追加する
Sequenceのコントラクトにはデフォルトでアクセスコントロール機能があります。場合によっては、特定のアドレスにmint()
などの関数を呼び出す権限を与えたいことがあります。
まず、contracts
セクションで先ほどデプロイしたコントラクトを選択します。
次に、Write Contract
セクションに進みます。
コントラクト書き込みタブのgrantRole
セクションへ進みます。
以下の情報で入力してください。
bytes32 role
: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
address account
: <ウォレットアドレス>
ウォレットアドレスには、ミント権限を付与したいアドレス(特にSequenceウォレット)を入力します。
write
を選択し、これまでと同様にポップアップウィンドウでトランザクションに署名して完了します。
Response Success
の確認メッセージが表示されます。
入力したロール文字列は、solidityでは solidityPackedKeccak256("MINTER_ROLE")
、javascriptでは ethers.solidityPackedKeccak256(ethers.toUtf8Bytes("MINTER_ROLE"))
の結果です。
一般的なパターンとして、Cloudflare Workerのようなオフチェーンコンピュートとリレイヤーウォレットを使ってトランザクションを送信する方法があります。その場合はアカウント欄に入力します。詳しくはこちらをご覧ください。
ステップ6:ウォレットアドレスにトークンをミント
Write Contract
セクションのmint
カードに移動し、to
にはトークンを受け取りたいウォレットアドレス、tokenId
(通常は0から開始)、amount
(発行するトークン数)、data
欄には通常0x00
(追加データがない場合)を入力します。
ステップ7:ミントしたコレクティブルを確認する
これで完了です!
Transactions
タブで、ウォレットアドレスに対してブロックチェーンに送信されたトランザクションを確認できます。