メインコンテンツまでスキップ

lesson-1_オンチェーンとは何か?

🔗「オンチェーン」とは何か、なぜそれが重要なのか

現在、NFTに大きな問題があります。

前回のレッスンで、NFTにする画像を Imgur に保存しました。

ですが、Imgurのサーバーがダウンしてしまった場合、imageリンクが役に立たなくなり、OpenSeaなどのNFTマーケットプレイス上ではNFTが機能しなくなってしまいます。

また、JSONファイルをホストしたWebサイトのサーバーがダウンした場合は、メタデータにアクセスできないため、NFTは完全に壊れています。

この問題を解決する1つの方法は、すべてのNFTデータを「ブロックチェーン上」に保存することです。

データを「ブロックチェーン上」に保存したり、書き込んだりすることこそ、「オンチェーン」でデータを管理するという意味になります。

またブロックチェーン上で管理されているデータを、「オンチェーンデータ」 と呼びます。

データをブロックチェーン上に保存すれば、データはコントラクト自体にコードとして埋め込まれ、NFTは永続的に機能します。

NFTデータが失われる唯一の状況は、ブロックチェーン自体がサーバーとして機能しなくなった場合です。

しかし、ブロックチェーンが永遠にサーバーとして機能し続けると仮定すると、私たちのNFTは永遠に失われることはありません。

多くの人気のあるプロジェクトはオンチェーンデータを使用しています。

🖼 SVG とは何か

画像のNFTデータを保存する一般的な方法は、SVGを使用することです。

SVGはデータ自体がコードで構築されている画像です。

たとえば、下記のコードは非常に単純なSVGです。

中央に白いテキストが含まれるブラックボックスをレンダリングします。

<svg
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="xMinYMin meet"
viewBox="0 0 350 350"
>
<style>
.base {
fill: white;
font-family: serif;
font-size: 14px;
}
</style>
<rect width="100%" height="100%" fill="black" />
<text
x="50%"
y="50%"
class="base"
dominant-baseline="middle"
text-anchor="middle"
>
EpicNftCreator
</text>
</svg>

こちら のWebサイトにアクセスし、上のコードを貼り付けて表示してみましょう。

SVGはカスタマイズ可能で、アニメーション化することもできます。

詳細については、こちら をお読みください。

🤘 NFT データをオンチェーンに書き込もう

これから、NFTデータをオンチェーンで保存する方法を学習します。

次のレッスンでは、中央に異なる 3 つの単語が並ぶSVGを作成します。

  • 上記の例で使用したSVGデータをEpicNftCreatorというコントラクトに埋め込みます。

その後、コントラクト上で、単語を動的に生成する方法を学習します。

  • ユーザーがあなたのコントラクトを呼び出して NFT を発行するたび、異なる 3 つの単語が生成されるプログラムを作成します

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#ethereumで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の3点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット

それでは、次のレッスンに進みましょう 🎉