[翻訳] ERC-1155Dを使用してNFT Minting DAppを構築する

:::note info
本記事は下記の翻訳となります。
[『Build an NFT Minting DApp With ERC-1155D』](https://blog.bunzz.dev/build-an-nft-minting-dapp-with-erc-1155d/)
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1926720/a097e8fa-d969-6f78-892b-6cdd3ab666f0.png)

ブロックチェーン技術によって、価値の交換方法やデジタルアセットとのやり取り方法、ユニークなデジタルアセットの所有方法など、私たちの生活の多くの側面が変革されてきました。非代替性トークン（NFT）は、他の資産と同様に購入、販売、取引が可能なユニークなデジタルアセットを作成し所有することができる、革命的なコンセプトです。

このガイドでは、NFT Minting DApp を作成する方法について説明します。NFT Minting DApp は、NFT を作成または「ミント」することができる分散型アプリケーションであり、これらの NFT はデジタルアート、音楽、動画、ツイートなどになります。ミントされた NFT はブロックチェーン上に保存され、他の資産と同様に取引や販売が可能です。

## ERC-1155D とは何ですか？

ERC1155D は、ERC721 と同様に完全に非代替性のある ERC1155 の実装であり、完全に後方互換性があります。各トークンには一意の識別子と所有者があり、他のすべての既存の NFT 実装よりもガス効率が高いです。

開発者は、従来の ERC721 よりも簡単にトークンの所有権を判断することもできます。

ERC-1155D の特徴：

- ERC1155 の完全な後方互換性と完全な準拠の実装。
- 各トークンには一意の識別子と所有者があり、完全に非代替性です。
- ミントコストは 51,000 ガス未満で、他のすべての既存の NFT 実装を大幅に上回る高いガス効率を提供します。
- トランスファーコストは 35,000 ガス未満で、他の NFT 契約および一部の ERC20 トランスファーコストを上回ります。
- ERC721A と同様にミントコストを遅延させることができ、トークンのミントがより安価になります。
- 伝統的な ERC721 の実装よりもトークンの所有権を簡単に判断することができます。

## ERC-1155D を使用した NFT Minting DApp の作成

NFT Minting DApp は、ユーザーがユニークな NFT を作成または「ミント」することができる分散型アプリケーションです。これらの NFT はデジタルアート、音楽、動画、ツイートなどになります。ミントされた NFT はブロックチェーン上に保存され、他の資産と同様に取引や販売が可能です。

ERC-721A トークン標準を基にした NFT ミント DApp の構築は複雑なプロセスですが、Bunzz のボイラープレートの助けを借りれば、簡単に行うことができます。

ボイラープレートは以下のものを使用して構築されています：

- フロントエンドとユーザーインターフェースには React.js を使用
- Bunzz からデプロイされた[ERC-1155D スマートコントラクト](https://app.bunzz.dev/module-templates/5a1059dc-2d5e-478b-8904-fd984f88ca69?version=1.0.0)
- スマートコントラクトとのやり取りには Web3.js と ethers.js を使用
- Binance Smart Chain（BSC）テストネット

Bunzz のボイラープレートを使用する手順を説明します。このボイラープレートは、あなたの特定のニーズに合わせて簡単にカスタマイズできる事前に書かれたコードベースを提供し、時間を節約し、DApp を迅速にブロックチェーンネットワークにテストおよびデプロイすることができます。

### **ERC-1155D NFT Minting Boilerplate の使用方法**

以下は、NFT Minting Boilerplate を使用して始めるための主要な手順です。これにより、ボイラープレートを実行しカスタマイズするために必要なすべてが揃います。

1\. NFT Minting Boilerplate の[GitHub リポジトリ](https://github.com/john082Coder/BunzzERC1155DModuleTest.)をローカルコンピュータにクローンします。

![](https://super-translator.inaridiy.workers.dev/assets/image/2bee2073-37e8-4a15-b367-9880954f0250)

2\. 好みの IDE（例：Visual Studio Code）を使用して、クローンしたリポジトリを開きます。

3\. ターミナルで*npm install*または*yarn install*を実行して必要な NPM パッケージをインストールします。

![](https://super-translator.inaridiy.workers.dev/assets/image/245bb99d-a123-4583-9ccb-9831e7f17ce3)

4\. Bunzz から[ERC-1155D](https://app.bunzz.dev/module-templates/5a1059dc-2d5e-478b-8904-fd984f88ca69?version=1.0.0)スマートコントラクトモジュールをデプロイします。

![](https://super-translator.inaridiy.workers.dev/assets/image/62e73200-dbd9-4016-a033-b294d23209da)

5\. Bunzz のダッシュボードから ABI とスマートコントラクトアドレスをコピーします。

![](https://blog.bunzz.dev/wp-content/uploads/2023/05/image-4-2048x1019.png)

6\. erc1155D.json ファイルを開き、Bunzz のダッシュボードからコピーした ABI の内容で既存の ABI コンテンツを置き換えます。

![](https://super-translator.inaridiy.workers.dev/assets/image/cb5db2da-01ce-4557-9704-deb62ddad692)

7\. *constants.js*ファイルを開き、スマートコントラクトアドレスの変数を見つけます。ファイル内のコントラクトアドレスを Bunzz のダッシュボードからコピーしたものに置き換えます。

![](https://blog.bunzz.dev/wp-content/uploads/2023/05/Screenshot-2023-05-11-at-11.42.53-AM.png)

_PS：56 は BSC メインネット ID を表し、97 は BSC テストネット ID を表します_

8\. *npm start*または*yarn start*を実行してアプリを起動します。DApp は以下の画像のように表示されます。

![](https://super-translator.inaridiy.workers.dev/assets/image/b9417bac-fb77-4cd0-9a46-726aae49c1d9)

9\. ウォレットに接続し、マイントする必要のあるフィールドを入力し、使用ケースに応じて「Mint」または「MintSingle」ボタンをクリックします。

![](https://super-translator.inaridiy.workers.dev/assets/image/9623d668-f0c4-4b71-822d-07bb57d348cd)

これらの手順により、ERC-1155D ボイラープレートを使用して、特定の NFT マイント使用ケースに合わせてボイラープレートコードを編集およびカスタマイズすることで、NFT マイント DApp を構築およびカスタマイズするために必要なすべてが揃います。

——————

これらの手順に従い、[ボイラープレート](https://github.com/john082Coder/BunzzERC1155DModuleTest)を使用することで、使用ケースに合わせたベスティングウォレットを構築およびカスタマイズするために必要なすべてが揃います。

---

---

:::note info
【Bunzz とは】
Bunzz はアジア最大級の DApps 開発インフラを運営する、web3×LLM におけるリーディングカンパニーです。「公共財としてのスマートコントラクト」の実現に向けて、各種 web3 インフラやサービスを開発・提供しております。

【Our Projects】

- **[Smart Contract Hub | スマートコントラクトの Github](https://www.bunzz.dev/)**
- **[DeCipher | "Read me" for All of Contracts](https://www.bunzz.dev/decipher)**
- **[Bunzz for Enterprise | Tier1 の技術リソースを日本企業に提供](https://enterprise.bunzz.dev/ja)**
- **[Bunzz Audit | 透明かつ持続的なコントラクト監査の仕組みを実現](hhttps://www.bunzz.dev/audit)**

【Social Links】

- [X(旧 Twitter))](https://twitter.com/BunzzDev)
- [Discord Community](https://t.co/6hHgssJdvW)
- [Youtube](https://www.youtube.com/@bunzzdev)
- [Instagram](https://www.instagram.com/bunzzdev/)

【お問合せ】
web3 開発・コンサルティングのご相談はこちらから 👉[Google Form](https://forms.gle/4tgQjWSw2MMMZW6E6)
:::

:::note info
Bunzz R&D エンジニア荒巻さんの著書[『スマートコントラクトの仕組みと法律』](https://amzn.to/3V03sNH)が好評発売中です 📕
<a href="https://amzn.to/3V03sNH" rel="nofollow" referrerpolicy="no-referrer-when-downgrade">
<img
    src="https://m.media-amazon.com/images/I/81wopoZ1K4L._SY522_.jpg"
    alt="『スマートコントラクトの仕組みと法律』（中央経済グループパブリッシング）"
    width="200px"
    height="auto"
    Style="border: 0px;"
  />
</a>
:::