𝗦𝗼𝗹𝗮𝗻𝗮 𝗡𝗙𝗧𝘀 𝗧𝗼 𝗡𝗶𝗲 𝗝𝗲𝗱𝘆𝗻𝗲 𝗝𝗣𝗘𝗚𝗶
Kiedyś myślałem, że NFT to tylko cyfrowe obrazy.
Po tygodniu budowania ich na Solanie, moje podejście się zmieniło. Spędziłem czas na tworzeniu NFT, dołączaniu metadanych i organizowaniu kolekcji na devnet.
Oto czego się dowiedziałem.
NFT nie są osobnym typem aktywa na Solanie.
Korzystają z tego samego modelu tokenów SPL, co zwykłe tokeny. Nadal używają:
- konta mint
- konta tokena
- portfela właściciela
Jedyną różnicą jest konfiguracja. Aby zmienić token w NFT, należy ustawić następujące reguły:
- Podaż wynosząca 1
- 0 miejsc po przecinku (decimals)
- Wyłączenie uprawnień do mintowania (mint authority) po zakończeniu procesu
Wyłączenie uprawnień do mintowania na stałe blokuje podaż. To, co wygląda na nową kategorię aktywów, to po prostu ta sama architektura z innymi regułami.
Metadane nadają NFT znaczenie. Użyłem Metadata Extension, aby dodać nazwę, symbol i URI.
NFT nie przechowuje obrazu. Przechowywanie dużych plików on-chain jest zbyt kosztowne. Zamiast tego NFT przechowuje URI. To URI wskazuje na plik JSON poza łańcuchem (off-chain). Gdy portfel wyświetla Twoje NFT, odczytuje metadane on-chain, podąża za URI i znajduje obraz.
Dowiedziałem się również o kolekcjach. Używając rozszerzeń Group i Member, powiązałem wiele NFT z jednym NFT kolekcji.
Można to porównać do relacji rodzic-dziecko w bazie danych.
- Kolekcja jest rodzicem.
- NFT są członkami.
Ta relacja istnieje on-chain. To nie jest tylko funkcja aplikacji. Każdy może zweryfikować, czy dane NFT należy do kolekcji, sprawdzając dane konta.
Testowałem również aktualizację NFT. Zmieniałem nazwy i aktualizowałem URI. Zmiany zachodziły on-chain natychmiastowo. Jednak obraz w portfelu może nie zmienić się od razu. Dzieje się tak, ponieważ portfele buforują (cache) metadane. Dane on-chain są poprawne, ale warstwa wizualna potrzebuje czasu na odświeżenie.
Główna lekcja: Nie zakładaj, jak coś działa. Sprawdź konto i zweryfikuj dane.
NFT są zbudowane na tych samych fundamentach co każde inne aktywo na Solanie: mintach, kontach i regułach programu. Obraz jest dla użytkownika. To struktura definiuje aktywo.
Źródło: https://dev.to/devduchess/understanding-solana-nfts-as-a-web2-developer-more-than-just-jpegs-5ekm