SOBA開発者ブログ
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-standards や EIP-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 を触ってみたいと思っています。
最新の投稿
-
2024年9月5日
-
2024年5月16日
-
2023年12月25日
-
2023年3月14日
-
2022年11月16日
-
2022年10月28日
-
2022年10月7日
-
2022年10月3日
多少のHTMLの知識があれば、「無料トライアル」を利用してサンプル開発ができます。無料トライアルの詳細はこちらをご確認ください。
SOBAフレームワーク・クラウドは「どんな製品で何ができるの?」「ライセンスやサポートは?」など、製品の概要がわかる資料です。
SOBAフレームワーク・クラウドを使った開発のためのドキュメントです。開発で困ったときは、こちらのドキュメントが参考になります。
導入のご相談、製品についてのご質問など、お気軽にお問い合わせください。また、開発のご依頼などもこちらからお問い合わせください。