金色观察|OpenSea的元数据标准
OpenSea 是最大的NFT交易平台,当我们去解构其平台的技术时,会发现,OpenSea完成了对 以太坊 上NFT资产的元数据扩展。让更多元数据可以与NFT资产关联到一起,形成了一种独立的数据标准,当其他应用想参考如何在应用里定义数据标准时,可能会引用OpenSea的数据标准。
这个数据标准完成了将丰富的元数据添加到NFT资产的功能,这里的NFT资产指以ERC721或ERC1155协议建立的资产。
让我们来具体看标准的描述。
概要
支持资产元数据后,可以在OpenSea这样的应用程序中,为数字资产关联丰富的数据,并轻松地在应用程序中显示它们。
Token URI
要求智能合约中的数字资产仅由唯一标识符(例如ERC721)表示。
为了让OpenSea为ERC721和ERC1155资产提取链下元数据,合约需要返回一个URI,以便OpenSea可以在其中找到元数据。
为了找到这个URI,可以使用ERC721和ERC1155中的方法。
ERC721中的函数或ERC1155合约中的函数可返回HTTP或IPFS URL。查询时,此URL会返回一个JSON数据块,其中包含您的token的元数据。
数据结构
OpenSea支持根据官方ERC721元数据标准或Enjin元数据建议构建的元数据。
此外还支持其他几个允许多媒体附件的属性(包括音频、视频和3D模型)以及项目的交互式特征,用来提供OpenSea市场上的所有排序和过滤功能(可以在OpenSea市场里通过交互和特征搜索)。
每一个OpenSea生物的属性和工作原理
图像
项目图像的URL,可以是几乎任何类型的图像(包括SVG,OpenSea将缓存到PNG),并且可以是IPFS URL或路径。
图像数据
原始SVG图像数据,不推荐动态图像。
外部网址
外部网址可显示在OpenSea资产图像下方的URL,允许用户离开OpenSea查看该项目。
描述
可添加项目描述。
姓名
添加项目名称。
属性
添加项目属性,将显示在项目的OpenSea页面上。
背景颜色
OpenSea上项目的背景颜色。必须是不带前置“#”的6位16进制字符。
动画网址
项目多媒体附件的URL,支持文件扩展名GLTF、GLB、WEBM、MP4、M4V、OGV和OGG,以及仅音频扩展名MP3、WAV和OGA。
Animation_url还支持HTML页面,允许您使用JavaScript画布、WebGL等构建丰富的体验和交互式NFT。现在支持HTML页面中的脚本和相对路径。但是,不支持访问浏览器扩展。
youtube视频
支持YouTube视频的URL。
自定义属性
OpenSea还允许您将自定义“属性”添加到元数据中,这些属性将显示在每个资产下方。例如:Eyes、Mouth、Level、Stamina、Personality、Sad、boost_number、Aqua Power、boost_percentage、Stamina Increase等。
这些特征可以是数字,甚至是时间等等,是一个字段,表示您希望如何显示。
提出属性时需要注意,应该将字符串属性包含为字符串(记住引号),并将数字属性包含为浮点数或整数,以便OpenSea可以正确显示它们。字符串属性应该是可读的字符串。