🐬
Metadata Standards for OpenSea(日本語)
ERC721とERC1155規格のNFTにおけるメタデータのデファクトスタンダードをOpenSeaの公式ドキュメントを読みながら最低限のところだけ書いていきます。(随時更新)
Metadataの埋め込みURI
ERC721規格ではtokenURIメソッド、ERC1155規格ではuriメソッドでURIが帰ってきます。
/**
* @dev Returns an URI for a given token ID
*/
function tokenURI(uint256 _tokenId) public view returns (string) {
return Strings.strConcat(
baseTokenURI(),
Strings.uint2str(_tokenId)
);
}
たとえば、以下の画像のような内容だとこのようなメタデータを利用します。
{
"attributes":[
{
"trait_type":"base",
"value":"narwhal"
},
{
"trait_type":"eyes",
"value":"sleepy"
},
{
"trait_type":"mouth",
"value":"cute"
},
{
"trait_type":"level",
"value":4
},
{
"trait_type":"stamina",
"value":90.2
},
{
"trait_type":"personality",
"value":"boring"
},
{
"display_type":"boost_number",
"trait_type":"aqua_power",
"value":10
},
{
"display_type":"boost_percentage",
"trait_type":"stamina_increase",
"value":5
},
{
"display_type":"number",
"trait_type":"generation",
"value":1
}
],
"description":"Friendly OpenSea Creature that enjoys long swims in the ocean.",
"external_url":"https://example.com/?token_id=3",
"image":"https://storage.googleapis.com/opensea-prod.appspot.com/creature/3.png",
"name":"Dave Starbelly"
}
Metadataの構成
Openseaは、ERC721の公式のメタデータスタンダード、またはEnjin Metadata suggestionsをサポートしています。
そして、複数のアタッチメントに対応しており、音声ファイル、動画ファイル、3Dメディアを含むことができます。
Discussion