July 25, 2022

Технологичность NFT

Небольшой перевод с моими правками и дополнениями о технологии NFT и том, что реально сделать с NFT.

Оригинал тут.


NFT широко известны как небольшие файлы PNG, JPEG или MP4 формата, однако на самом деле они поддерживают широкий спектр различных других форматов.

Фактически, некоторые форматы добавляют новый уровень функциональности поверх токенов.

Давайте разберемся в вопросе поподробнее.

Контракт ERC-721 использует поле tokenURI внутри самого смарт-контракта для того, чтобы разместить там ссылку на сами данные.

Обычно разработчики размещают изображения и метаданные NFT в IPFS.

IPFS — это распределенная система для хранения и доступа к файлам, веб-сайтам, приложениям и данным.

TokenURI возвращает файл формата JSON, содержащий ссылку IPFS на изображение. Это означает, что NFT больше похожи на квитанцию в которой написано что где искать.

Вообще NFT способны на гораздо большее, чем просто показывать статические картинки. Более того, данные NFT могут полностью находиться в сети. Например, вместо ссылки для нашего tokenURI мы можем использовать закодированные данные JSON, чтобы возвращать данные формата SVG (векторная графика), которые можно просмотреть в браузере.

Это позволяет нам делать очень крутые вещи.

После чеканки и записи в блокчейн, SVG NFT остаются в блокчейне навсегда, не полагаясь на внешние ссылки.

По сути, SVG - это картинка сформированная из векторов, то есть мы прописываем различные координаты линий, цвета заливки, а значит сохраняется масштабируемость без потери качества. Это всего несколько строк кода, что делает файлы очень маленькими.

Весь код NFT, умещающийся в паре строк

Это упрощает развертывание SVG в сети и использование поверх ETH.

PNG в свою очередь являются большими типами файлов, которые медленно загружаются, а также являются статичными. После развертывания и раскрытия они ничего не делают. SVG можно даже стилизовать (с помощью CSS - специальный код, используемый при разработке сайтов), что позволит анимировать NFT.

Мы можем добавить немного произвольной логики, которая будет исполняться в соответствии с некоторыми данными, зависящими, например, от времени суток, имени пользователя, погоды и на выходе получать динамически меняющиеся NFT.

Можно даже считывать данные из других смарт-контрактов! Проекты NFT могут изменить то, как будут отображаться NFT, в зависимости от владения другими токенами, действий в сети или чего-то еще!

Tales of Elatora NFT меняет способ рендеринга в зависимости от времени суток.

Есть также вещи, с которыми люди экспериментировали, что позволяет пользователям иметь персонализированные NFT. Эти NFT меняют отображаемое имя в зависимости от владельца.

По большому счету полет фантазии может быть невероятно широким, вариантов использования на 100% бесконечно!

Двигаемся дальше.

С форматом .glTF мы можем создавать собственные 2D-NFT и превращать их в 3D-модели, готовые для метавселенной. Файлы glTF обычно используются в играх. NFT с этими типами файлов можно интегрировать в виртуальные миры за считанные секунды. Они также выглядят довольно симпатично на OpenSea.

Заходим сюда и крутим пальцем планету.

Наконец, я немного расскажу о HTML. Знаете ли вы, что прямо сейчас можете создать целую HTML-страницу как NFT? Ниже представлена интерактивная игра в крипто-лабиринт NFT с использованием HTML-кода. Можете поиграть :)

Все эти примеры — лишь малая часть того, что могут дать различные типы файлов для NFT. NFT постепенно становятся динамичными и на 100% внутрисетевыми. Пришло время начать относиться к этим вещам как к чему-то другому, а не как к простой картинке в блокчейне!