Solana NFT — это не просто JPEG
Раньше я думал, что NFT — это просто цифровые изображения.
После недели разработки на Solana мое мнение изменилось. Я потратил время на создание NFT, прикрепление метаданных и организацию коллекций в devnet.
Вот чему я научился.
NFT на Solana — это не отдельный тип актива.
Они используют ту же модель SPL-токенов, что и обычные токены. Они по-прежнему используют:
- аккаунт минта (mint account)
- токен-аккаунт (token account)
- кошелек владельца (owner wallet)
Единственное отличие — в конфигурации. Чтобы превратить токен в NFT, вы устанавливаете следующие правила:
- Эмиссия (supply) — 1
- 0 десятичных знаков (decimals)
- Отключение права на минт (mint authority) после выпуска
Отключение права на минт навсегда фиксирует предложение. То, что кажется новой категорией активов, на самом деле является той же архитектурой, но с другими правилами.
Метаданные делают NFT значимым. Я использовал Metadata Extension, чтобы добавить имя, символ и URI.
NFT не хранит само изображение. Хранение больших файлов on-chain обходится слишком дорого. Вместо этого NFT хранит URI. Этот URI указывает на JSON-файл off-chain. Когда кошелек отображает ваш NFT, он считывает on-chain метаданные, переходит по URI и находит изображение.
Я также узнал о коллекциях. Используя расширения Group и Member, я связал несколько NFT с одним NFT-коллекцией.
Представьте это как связь «родитель-потомок» в базе данных.
- Коллекция — это родитель.
- NFT — это участники (members).
Эта связь существует on-chain. Это не просто функция приложения. Любой может проверить, принадлежит ли NFT коллекции, изучив данные аккаунта.
Я также протестировал обновление NFT. Я менял имена и обновлял URI. Изменения происходили on-chain мгновенно. Однако изображение в кошельке может измениться не сразу. Это происходит потому, что кошельки кэшируют метаданные. Данные on-chain верны, но визуальному слою требуется время на обновление.
Главный урок: не делайте предположений о том, как что-то работает. Изучайте аккаунт и проверяйте данные.
NFT построены на тех же принципах, что и любой другой актив на Solana: минт, аккаунты и правила программ. Изображение — для пользователя. Актив определяет именно структура.
Source: https://dev.to/devduchess/understanding-solana-nfts-as-a-web2-developer-more-than-just-jpegs-5ekm