2024年3月26日

ERC721の独自コントラクト(EthereumのNFT)をミントしたい

こんにちは。SOBAプロジェクトの花崎です。

1年ほど前になりますが、ERC721 な独自NFTをミントしたいと突然思いたちました。

ゼロから手探りで始めたので時間がかかりました。
大まかにいうとこういうプロセスを経ました。

1. MetaMaskをインストールする

Ethereumを始めるなら、まずはウォレットが必要です。

MetaMask がどうやらデファクトっぽいです。

2. Truffle をインストールする

最初に読んだオライリー本に従い、Truffle をインストールしてみました。

3. Solidityで独自コントラクトを書く

Truffleから OpenZeppelin を利用して、ERC721を継承したコントラクトを書きました。

4. MetaDataについて調べる

OpenSea の metadata-standardsEIP-721 を参考にしながら、メタデータのサンプルを書いてみました。

5. 画像を用意する

メタデータを作るには、NFTの画像が必要です。
私の場合は開発プロセスを研究する事が目的でしたので、生成ツールで適当に作りました。1000個くらい。

6. 画像を公開する

AWS S3に適当なバケットを作成して、画像をアップロードしました。

7. メタデータ自動生成

1000個の画像に対し、1000個のメタデータ(JSONファイル)を作らないといけません。
手作業では無理なので、シェルスクリプトを書いて作りました。

8. メタデータをIPFSに公開する

最初はこれもS3にアップロードしていましたが、後になって、IPFSの方が主流だという事を知って、IPFSゲートウェイサービスを1つ選定して、そこに画像とメタデータをアップロードしました。

それだけで記事1つ分位になりますが詳細は割愛します。

9. Ganacheをインストールし、コントラクトをデプロイする

Truffle には Ganache という、ローカルで動作するEthereumブロックチェーンのエミュレータが付属しています。
それを起動・設定して、まずはGanacheにコントラクトをデプロイしてみました。

10. テストネットにコントラクトをデプロイする

当時は Goerli Testnetを使っていました。

11. ミントサイトを作り公開する

Reactとether.js で1枚ペラのミントサイトを作りました。
S3の静的HTMLとCloudFrontを使って公開しました。

まとめ

箇条書きにしたら大した事ないように見えますが、それぞれの項目ごとにかなり時間取られました。

NFTクリエイターの仕事はこれだけじゃなくて、アートを作ったり、プロモーションしたりがメインですよね。
加えてこれらの要素技術を理解して進めるのは、かなりキツイと思います。

そこで ThirdWeb です。
ThirdWeb を使えば、これらが楽になると聞きました。

次回から、ThirdWeb を触ってみたいと思っています。

シェアする

無料トライアル

無料トライアルについて

多少のHTMLの知識があれば、「無料トライアル」を利用してサンプル開発ができます。無料トライアルの詳細はこちらをご確認ください。

製品資料ダウンロード

製品資料ダウンロード

SOBAフレームワーク・クラウドは「どんな製品で何ができるの?」「ライセンスやサポートは?」など、製品の概要がわかる資料です。

開発用資料ダウンロード

開発用資料ダウンロード

SOBAフレームワーク・クラウドを使った開発のためのドキュメントです。開発で困ったときは、こちらのドキュメントが参考になります。

お問い合わせ

お問い合わせ

導入のご相談、製品についてのご質問など、お気軽にお問い合わせください。また、開発のご依頼などもこちらからお問い合わせください。