メタデータテンプレート

メタデータテンプレートとプレースホルダの使い方

NMKR Studioでは、プロジェクトごとにメタデータテンプレートを指定することができます。

このメタデータテンプレートにはプレースホルダが含まれており、各トークンが提供するメタデータの実際の値に置き換えられます。つまり、このプロジェクトにアップロードされた各トークンは、メタデータテンプレートのメタデータ構造とプレースホルダを使用します。

NMKR Studioでは、プロジェクトのメタデータテンプレートの標準構造として、NFTメタデータ標準を定義する提案であるCIP-0025を使用しています。トークン固有のメタデータにもこの構造を使用することが重要です。

よくある間違いは、Cardano固有の文字数制限を超えてしまうことです。例えばasset_nameは32文字までしか使用できず、特殊文字は使用できません。フィールドの標準的な文字数制は、空白を含めて63文字です。より長いテキストを追加したい場合は、配列を使用してください。

メタデータテンプレート

標準メタデータは、プロジェクト設定のメタデータ編集タブにあります。

プレースホルダーはその書き方で識別可能で、<>で囲まれていれば何でもプレースホルダーになります。

{
  "721": {
    "<policy_id>": {
      "<asset_name>": {
        "name": "<display_name>",
        "image": "<ipfs_link>",
        "mediaType": "<mime_type>",
        "description": "<description>",
        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          }
        ]
      }
    },
    "version": "1.0"
  }
}

このメタデータテンプレートの基本構造を維持することが非常に重要です。メタデータの構造をチェックするのに非常に便利なツールが、JSON Editor Onlineです。

また、値だけでなく、文字列(" ")も使用するようにしてください。例:"traitcount":"12"は正しい。「traitcount:12は正しくありません。

ファイルのセクション

メタデータテンプレートのファイルセクションは、常にすべてのプレースホルダーをトークンにアップロードされたファイルの特定の値に置き換えます。複数のサブファイルがある場合、このファイルセクションはアップロードされたサブファイルごとに自動的に増殖します。したがって、ファイルセクションとそのプレースホルダには触れないことをお勧めします。

        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          }
        ]

メタデータテンプレートにファイルを直接追加

すべてのトークンが同一のサブファイルを共有するようなプロジェクトでは、各単一トークンにサブファイルとしてアップロードする代わりに、メタデータテンプレートに直接追加することが理にかなっています。

そのためには、テストプロジェクトに必要なファイルをアップロードして、ファイルのIPFSハッシュを受け取ります。次に、トークンのファイル・タブまたはManage NFTsタブの詳細カラムからIPFSHハッシュをコピーして、以下のようにメタデータテンプレートに追加します。

        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          },
          {
            "name": "subfile",
            "mediaType": "<mime_type>",
            "src": "ipfs://QmZNqgUHhGukXD27pAZtZE5BEkx6VXB1AhQVmK55QCd31y" 
          }
        ]

複数のサブファイルをテンプレートに直接追加するには、各ファイルの間に "," を追加します。

プレースホルダーとフィールド

メタデータ内のすべてのフィールドは、フィールドの名前 (例: 「name」) とプレースホルダー (例: 「<display_name>」) で構成されます。<placeholders> は、その名前が示すとおり、各固有の NFT によって指定される値の場所を保持するためのものです。標準のメタデータ テンプレートで既に指定されているプレースホルダーを使用することをお勧めしますが、独自のフィールドとプレースホルダーを指定することもできます。

policy_id

このフィールドのプレースホルダ <policy_id> はプロジェクトのポリシーIDに置き換わります。メタデータのテンプレートと トークンのユニークなメタデータにこのフィールドを保持することを強くお勧めします。

asset_name

この<asset_name>プレースホルダはチェーン上のアセット名となり、manage NFTsタブに表示されるトークンのアセット名と一致する必要があります。このプレースホルダはメタデータテンプレートとトークンのユニークなメタデータに保持することを強くお勧めします。

最近のNMKR Studioのアップデート以降、asset_nameには特殊文字やスペースを含めることができるようになりました。

トークンのレアリティの番号付けは、トークンの番号とは無関係にすることをお勧めします。

このような場合は、アセットのasset_name / token nameをdisplay_nameと関連付けず、ランダムに生成することをお勧めします。

トークンの表示名を上書きするには、placeholder.csvメソッドを使用してください。

その理由は簡単です。プロジェクトで MultiSig Paymentを使用する場合、買い手が支払い取引に署名するときに、( display_nameではなく asset_nameが取引に表示される可能性があるからです。そのため、買い手は「レアでない/一般的でない番号」が表示された場合、取引をキャンセルして最初からやり直すことができます。

display_name

<display_name>が指定されると、pool.pm、セカンダリーマーケット、その他のウェブサイト上で、トークンのasset_nameの代わりに表示されます。この名前はホルダーがトークンを識別する方法です。特殊文字を含めて63文字まで保持できます。

「トークン#124」のような名前にしたい場合は、ここにそのように記述します。

image

このフィールドの<ipfs_link>プレースホルダは、トークンのIPFSハッシュに置き換えられます。

あなたのトークンがメインファイルとして画像を持っているだけでなく、画像もサブファイルとして持っている場合、このフィールドにはプロジェクトのサムネイルを指定し、ここに画像やアニメーションGIFの小さいサイズのバージョンを追加することができます。

mediaType

このフィールドはサムネイル画像のファイル形式を定義します。サブファイルの下のファイルセクションで使われた場合、<mime_type>プレースホルダは自動的にファイルのファイル形式に置き換わります。

src

"src"フィールドの<ipfs_link>プレースホルダーはファイルセクションに属し、アップロードされたすべてのサブファイルのipfsハッシュに置き換えられます。

detail data

詳細データフィールドは、サブファイルに追加の詳細を追加したい場合に指定できます。

これらは、トークンを編集またはアップロードするときにファイルタブで指定するか、カスタムメタデータで直接指定することができます。

"detaildata": "<detail_data>"

63文字以上の説明および拡張説明

配列を使用せずに説明文に追加できるのは63文字までです。

より長い説明を追加したい場合は、配列メソッドを使用してテキストを複数行に分割してください:

        "description": [
          "text part abc...",
         "...def...",
          "...xyz"
        ],

カスタムプレースホルダー

カスタムプレースホルダは、いわゆるトークン特性やトークン固有の値を追加するのに非常に便利です。

固有のプレースホルダを指定するには、メタデータテンプレートにカスタムフィールドを追加する必要があります。

メタデータコードの "description" 行の下に追加することをお勧めします。

カスタムフィールドを追加するには、カスタムフィールドに "name" を付け、次のように<placeholder> を指定します:

"body": "<body>",

or

"background": "<background>",

メタデータテンプレートでカスタムフィールドを指定した後、 トークン固有のメタデータで値を与えます。

スタックに名前を付けるためのカスタム・プレースホルダ(pool.pm)

Pool.pmはコレクションのNFTをスタックします。このスタックに名前を付けたい場合は、次のようなカスタムフィールドを使用できます:

"collection": "<collection>",
"artist": "<artist>",
"project": "<project>",

しかし、もしプロジェクトが同じスタック名を共有するのであれば、プレースホルダーを使わずに(<>を削除して)、ハードな値を入れたいでしょう:

"collection": "My Collection",
"artist": "The Artist",
"project": "The Project",

これらのカスタムフィールドがメタデータに与えられていない場合、pool.pmはトークンの説明またはdisplay_names(与えられていない場合は asset_name) のシーケンスから名前を作成します。

メタデータ内のリンク

リンクは、カスタムフィールドを使ってメタデータに直接簡単に追加できます。

"website": "https://nmkr.io",

また、メタデータにhttps//リンクを使用する場合は、1行63文字という制限を守ってください。以下のようなリンクを配列で追加してください。

        "download": [
          "https://drive.google.com/file/d/1CVmtR5VCHWENY",
          "GV-5OiuKGkAXsdmhGDA7p/view?usp=sharing"
        ],

リンク全体を表示せずにフィールド名にリンクを追加するには、以下の形式を使用してください。

          "links": {
            "website": "https://website.com/"
          },

もちろん、この形式は配列と組み合わせることもできます。

        "links": {
          "download": [
            "https://download.com/",
            "xyzabc..."
          ]
        },

最終更新