メタデータとIPFSの紹介
🤖 IPFS を使用した NFT メタデータのアップロード
IPFS とは
前述のとおり、メタデータは中央集権的に保存することもでき、例えばAWS S3
に保存される場合、ゲームタイプのNFTがメタデータ内のコンテンツを簡単に拡張するのに便利です。一方、メタデータはIPFS
やAr
のような分散型ストレージに保存することもでき、これによりメタデータの不変性が強化されます。このレッスンでは、IPFS
上で必要なメタデータを生成する方法を学びます。
IPFSはInterPlanetary File Systemの略で、ファイル、ウェブサイト、アプリケーションなどの保存と共有に使用される分散型ピアツーピアネットワークです。2015年に初めてリリースされ、Protocol Labsによって開発されました。
IPFSは、ファイルの保存と共有のために設計された分散型ノードネットワークとして動作します。IPFS上の各ファイルは、その内容に基づくコンテンツハッシュによって識別されます。このコンテンツハッシュは CID、すなわちContent ID
として知られています。簡単に言うと、IPFSにファイルをアップロードすると、IPFSネットワーク上のさまざまなノードがすでに同じコンテンツをアップロードしていないかどうかをチェックします。もし一致するものがあれば、ノードは前回のCIDを返します。一致しなければ、ノードはファイルを保存して新しいCIDを提供します。
CIDがあれば、IPFSに保存されているファイルの内容にアクセスできます。Bored Ape Yacht Club(BAYC)のCIDはQmeSjSinHpPnmXspMjwiXyN6zS4E9zccariGR3jxcaWtqです(注:CIDは必ずしも単一のファイルを指すわけではありません。アップロードを容易にするために「car」として知られる、バンドルされた複数のファイルを含むフォルダを指すこともできます。BAYCはバンドルされた複数ファイルのCIDを使用します)。
標準のIPFSリンクフォーマットはIPFS://+CID
で、このようになります:
IPFS://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq
ただし、このフォーマッ トは、IPFSをサポートしている一部のブラウザ(Braveなど)で、アドレスバーに直接IPFS
アドレスを入力して使用する場合にのみ有効です。Chromeのような他のブラウザはこのフォーマットをサポートしていません。
したがって、IPFSコンテンツにアクセスするにはIPFSゲートウェイが必要です。例として以下のようなものがあります:
https://cloudflare-ipfs.com/ipfs/+CID
このようにして、Bored Ape Yacht Club(BAYC)のメタデータ・コンテンツに簡単にアクセスできます。
https://cloudflare-ipfs.com/ipfs/QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/
しかし、IPFSにファイルをアップロードするにはノードが必要であり、自分のIPFSノードを実行するのは難しいと思われるかもしれません。
NFT StorageやTextileは、人気のあるIPFSノードプロバイダーです。Ethereumのノードプロバイダーと同様に、これらのプラットフォームでアカウントを作成することで、ネットワーク上に保存されたデータを保存および取得するためのIPFSノードにアクセスすることができます。