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: мінти, акаунти та правила програм. Зображення — для користувача. Саме структура визначає актив.
Джерело: https://dev.to/devduchess/understanding-solana-nfts-as-a-web2-developer-more-than-just-jpegs-5ekm