Czym są tokeny SPL i jak działają na Solanie?

Czym są tokeny SPL?
Tokeny SPL to tokeny emitowane i zarządzane w Solana-blockchainie zgodnie ze standardem tokenów Solany. SPL oznacza Solana Program Library, czyli zestaw standardowych programów, które wykonują funkcje w sieci Solana.
Token może na przykład reprezentować środek płatniczy, system punktowy, cyfrowy przedmiot kolekcjonerski lub inne uprawnienie w ramach aplikacji. W Solanie takie tokeny nie są przechowywane w portfelu krypto jako oddzielny obiekt. Blockchain rejestruje je w specjalnych kontach, które podlegają zasadom programu tokenów.
Najważniejszym rejestrem jest konto mint. To unikalna dokumentacja techniczna tokena. Konto mint określa między innymi:
- ile tokenów istnieje łącznie;
- ile miejsc po przecinku (decimal) używa token;
- kto może emitować nowe tokeny;
- czy ktoś może zamrażać konta tokenów.
Każde konto mint ma własny adres mint. Ten adres jest jedynym wiarygodnym technicznym identyfikatorem tokena. Nazwa lub symbol tickera mogą bowiem być używane przez wiele różnych tokenów.
Przykład: Dwa tokeny mogą wyświetlać w portfelu krypto tę samą nazwę i ticker. Mimo to są to różne tokeny, jeśli ich adresy mint się różnią. Dlatego zawsze sprawdzaj adres mint, zanim odbierzesz, wyślesz lub użyjesz tokena.
Nazwa, ticker i obraz nie są domyślnie zapisane w koncie mint. Te dane nazywa się metadanymi: to dodatkowe informacje, które ułatwiają użytkownikom odczytanie tokena. Metadane można na przykład dodać w osobnym koncie za pośrednictwem Metaplex.
Najważniejsze informacje
- Tokeny SPL to tokeny w blockchainie Solana.
- Konto mint to unikalna dokumentacja techniczna tokena.
- Adres mint to wiarygodny, unikalny identyfikator tokena.
- Portfel krypto śledzi tokeny SPL za pomocą oddzielnych kont tokenów.
- Nazwy, tickery i obrazy to metadane i nie są domyślnie zapisane w koncie mint.
Jak działają tokeny SPL na Solanie?
Tokeny SPL działają poprzez konta mint i konta tokenów, które są zarządzane przez program tokenów według stałych zasad. Solana ma w tym celu dwa ważne programy: pierwotny Token Program oraz Token Extension Program, nazywany także Token-2022.
Pierwotny Token Program zapewnia podstawowe funkcje dla tokenów. Token-2022 zawiera te same funkcje rdzeniowe i może dodawać dodatkowe właściwości, takie jak opłaty transferowe, metadane lub tokeny nieprzenoszalne.
Konto mint opisuje token jako całość. Następnie konto tokenów rejestruje, ile danego tokena posiada określony właściciel. Konto tokenów może zawierać tylko jeden mint i ma jednego właściciela.
Portfel krypto może więc mieć wiele kont tokenów. Jeden portfel może też posiadać kilka kont tokenów dla tego samego mint, choć zwykle nie jest to potrzebne.
Dla typowego połączenia: jeden portfel i jeden mint, istnieje powiązane konto tokenów (associated token account), często skracane jako ATA. Jest to standardowe konto tokenów, które można przewidywalnie wyprowadzić z adresu portfela i adresu mint. Dzięki temu aplikacja może znaleźć standardowy adres odbioru dla konkretnego tokena.
Podczas transferu program tokenów przenosi saldo z konta tokenów nadawcy na konto tokenów odbiorcy. Oba konta muszą należeć do tego samego mint. Jeśli odbiorca nie ma jeszcze ATA dla tego tokena, takie konto można utworzyć w tej samej transakcji.
Adres mint nie jest więc adresem odbioru. Osoba, która chce otrzymać tokeny SPL, zwykle używa adresu portfela, aby można było określić właściwe ATA, albo podaje bezpośrednio odpowiednie konto tokenów. Transfer do samego konta mint zakończy się niepowodzeniem.
Jakie rodzaje tokenów SPL istnieją?
Tokeny SPL mogą być fungibilne lub niefungibilne, ale ten podział nie opisuje wszystkich możliwości w Solanie. Właściwości konkretnego mint, takie jak podaż, miejsca po przecinku, metadane, authorities oraz ewentualne rozszerzenia, ostatecznie decydują o tym, jak zachowuje się token.
Oprócz zwykłych tokenów fungibilnych i NFT istnieją również formy programowalne lub semi-fungibilne. Token-2022 może dodatkowo wprowadzać cechy, które zmieniają sposób przenoszenia lub używania tokena, takie jak opłaty transferowe albo reguła ograniczająca transfery.
Czym są fungibilne tokeny SPL?
Fungibilne tokeny SPL składają się z wzajemnie wymiennych jednostek tego samego mint. Jedna jednostka ma na poziomie protokołu te same właściwości co każda inna jednostka tego mint.
To podobne do euro: jedno euro jest co do zasady wymienialne na inne euro. W przypadku tokena fungibilnego nie ma znaczenia, którą konkretnie jednostkę otrzymujesz, lecz ile jednostek posiadasz.
Konto mint określa między innymi podaż i liczbę miejsc po przecinku. Miejsca po przecinku decydują o tym, jak najmniejsze jednostki są prezentowane użytkownikom. Token może na przykład być wyświetlany w liczbach całkowitych, ale także w mniejszych częściach.
Tokeny fungibilne można między innymi mintować, przesyłać, delegować i spalać. Delegowanie oznacza, że właściciel udziela innej stronie ograniczonego upoważnienia do używania tokenów w jego imieniu. Spalanie oznacza, że tokeny są trwale usuwane z podaży.
Gdy mint ma freeze authority, uprawniona strona może zamrozić konkretne konto tokenów lub je odblokować. Zamrożone konto nie może otrzymywać, wysyłać ani spalać tokenów.
Fungibilne tokeny SPL mogą służyć jako waluta, punkty lub tokeny wymieniane w puli AMM. AMM to system, który realizuje swapy tokenów za pośrednictwem puli tokenów, zamiast tradycyjnej listy zleceń z kupującymi i sprzedającymi.
Fungibilność nie oznacza automatycznie, że token jest swobodnie przenoszalny lub nie wiąże się z dodatkowymi kosztami. Mint Token-2022 może na przykład zawierać opłaty transferowe lub dodatkowe zasady dotyczące transferu.
Czym są niefungibilne tokeny SPL?
Niefungibilne tokeny SPL to tokeny oparte na SPL, których egzemplarz może być traktowany jako unikalny. Znanym zastosowaniem jest NFT, czyli token, który zwykle reprezentuje unikalny cyfrowy przedmiot lub dowód.
Tradycyjne NFT oparte na SPL można technicznie utworzyć za pomocą mint, który ma zero miejsc po przecinku, w którym mintuje się jedną jednostkę, a następnie usuwa się mint authority. Metadane oraz odpowiedni standard tokena sprawiają, że portfele i marketplace’y rozpoznają token jako NFT. Mint authority to uprawnienie do tworzenia nowych jednostek. Po jego usunięciu nie da się już zwiększyć podaży.
NFT zwykle wykorzystują metadane do informacji takich jak nazwa, obraz, opis, twórcy, kolekcja oraz standard tokena. Informacje te jasno określają, jaki cyfrowy przedmiot ma reprezentować token.
Istnieje kilka form NFT. Zwykłe tokeny niefungibilne, programowalne NFT oraz edycje NFT mogą mieć różne zasady. Programowalne NFT mogą na przykład wymuszać reguły dotyczące transferu, blokady lub spalania.
Token-2022 również może wspierać tokeny podobne do NFT, na przykład z zerową liczbą miejsc po przecinku, wbudowanymi metadanymi lub ustawieniem, które sprawia, że token jest nieprzenoszalny. Nie każdy jednak niefungibilny asset w Solanie jest tokenem SPL, ponieważ istnieją także odrębne modele aktywów.
Do czego używa się tokenów SPL?
Tokeny SPL służą do reprezentowania cyfrowych praw własności oraz innych rodzajów wartości lub praw w Solanie. Tokenizacja oznacza tutaj, że dane prawo lub przedmiot zostaje zapisane w formie cyfrowego tokena.
Tokeny fungibilne mogą na przykład pełnić rolę środka płatniczego, punktów lub innych przenoszalnych jednostek w aplikacji. Użytkownicy przechowują te tokeny w kontach tokenów i mogą je wysyłać do innych użytkowników.
Tokeny SPL stanowią też podstawę dla DeFi, czyli zbiorczej nazwy dla zastosowań finansowych w blockchainie. W puli AMM użytkownicy mogą na przykład wymienić jeden token na inny.
Aktywa SPL podobne do NFT mogą reprezentować cyfrowe przedmioty kolekcjonerskie, limitowane edycje lub przedmioty w grach. Token nieprzenoszalny może również służyć jako dowód osiągnięcia (achievement) lub nagrody za polecenie (referral), ponieważ odbiorca nie może go łatwo przekazać dalej.
Token-2022 umożliwia dodatkowe zastosowania. Dotyczy to tokenów z opłatami transferowymi, obowiązkowymi metadanymi, dostępem token-gated lub confidential transfers. W dostępie token-gated posiadanie określonego tokena decyduje o tym, czy ktoś uzyskuje dostęp do funkcji lub środowiska. Confidential transfers to transfery, w których można ukryć wybrane dane transakcyjne.
To, że token może technicznie reprezentować aktywo lub prawo, nie oznacza automatycznie, że posiadacz jest właścicielem w sensie prawnym, ma gwarantowaną wymienialność lub prawo do zysków. Zależy to od podmiotu emitującego token, warunków oraz obowiązujących przepisów.
Jak utworzyć i zarządzać tokenem SPL?
Tworzenie tokena SPL zaczyna się od utworzenia i zainicjalizowania konta mint w ramach wybranego programu tokenów. Podjęte decyzje są istotne, ponieważ wpływają na to, jak token będzie później używany i zarządzany.
-
Wybierz program tokenów
Wybierz między pierwotnym Token Program a Token-2022. Pierwotny program oferuje standardowe funkcje. Token-2022 jest właściwy, gdy z góry potrzebne są dodatkowe cechy, takie jak wbudowane metadane, opłaty transferowe lub nieprzenoszalność. -
Utwórz konto mint
Konto mint stanie się unikalną dokumentacją techniczną tokena. Nowy mint rozpoczyna z podażą równą zero tokenów. -
Ustal ustawienia
Ustaw liczbę miejsc po przecinku i określ, kto otrzyma mint authority. Możesz też ustawić freeze authority. Te wybory decydują między innymi o tym, czy można emitować nowe tokeny oraz czy konta tokenów mogą być zamrażane. -
Wybierz rozszerzenia z góry w Token-2022
W Token-2022 trzeba wcześniej określić, które rozszerzenia wymagają miejsca w koncie oraz które muszą zostać ustawione przed zainicjalizowaniem mint. Niektórych rozszerzeń nie da się dodać później, podczas gdy inne rozszerzenia lub ich ustawienia można w określonych warunkach nadal dodać albo zmienić. Możliwości różnią się w zależności od rozszerzenia. -
Dodaj czytelne metadane
Dla nazwy, tickera i obrazu można użyć Metaplex Token Metadata. W Token-2022 można także skorzystać z wbudowanego rozszerzenia TokenMetadata. Określ również, kto będzie mógł później zmieniać metadane. -
Mintuj i dystrybuuj tokeny
Tylko mint authority może tworzyć nowe jednostki. Tokeny są mintowane na konta tokenów, a następnie mogą być przenoszone na konta tokenów innych użytkowników. -
Uważnie zarządzaj uprawnieniami
Możesz ustawić ograniczonego delegata, cofnąć delegata, zmieniać authorities, spalać tokeny oraz zamykać puste konta tokenów. Usunięcie authority jest co do zasady trwałe. Dlatego przed podpisaniem transakcji sprawdź ustawienia.
Obecność mint authority pozwala zwiększać podaż. Obecność freeze authority pozwala blokować konta. Uprawnienia te są funkcjonalne, ale dają ich posiadaczowi także duży wpływ na token.
Jaką rolę pełni Solana Token Program?
Solana Token Program reguluje standardowe operacje dla tokenów SPL, ale technicznie istnieją dwa oddzielne programy tokenów. Pierwotny Token Program oferuje znane funkcje bazowe, natomiast Token-2022 łączy te same funkcje rdzeniowe z rozszerzeniami.
Programy te kontrolują między innymi tworzenie mintów i kont tokenów, mintowanie, transfery, delegowanie, spalanie, zamykanie kont oraz zarządzanie authorities. Zapewniają więc, że działania na tokenach są wykonywane zgodnie ze stałymi zasadami wybranego mint.
Programy Solany mogą też wywoływać program tokenów, aby realizować operacje tokenowe z poziomu aplikacji. Przykładowo aplikacja może zainicjować transfer tokena, a program tokenów sprawdzi, czy zaangażowane konta i uprawnienia są prawidłowe.
Token-2022 dodaje między innymi opłaty transferowe, transfer hooks, metadane, zachowanie nieprzenoszalne, confidential transfers, minty oprocentowane (interest-bearing mints), wstrzymywanie (pauzowanie) oraz grupy tokenów. Transfer hook to dodatkowa reguła, która podczas transferu może uruchomić dodatkową logikę.
Program tokenów kontroluje techniczne zasady tokena. Nie ocenia samodzielnie, czy token ma wartość ekonomiczną, jest wiarygodny lub spełnia deklaracje prawne.
Jakie portfele obsługują tokeny SPL?
Phantom i Solflare obsługują tokeny SPL w Solanie, ale dokładne wsparcie może różnić się w zależności od tokena i funkcji. Portfel krypto musi potrafić przetwarzać odpowiednie konta tokenów, aby token można było odebrać, wyświetlić lub wysłać.
Obsługiwane tokeny mogą pojawić się w Phantom automatycznie, gdy transakcja odbioru zostanie potwierdzona w blockchainie. Solflare również oferuje funkcje do odbierania i wysyłania tokenów SPL.
W przypadku Token-2022 potrzebne jest dodatkowe wsparcie, ponieważ portfel musi potrafić przetwarzać transakcje z mintami Token-2022. Nawet jeśli portfel krypto może odebrać token, sposób wyświetlania metadanych, swapów, galerii NFT oraz poszczególnych rozszerzeń może różnić się w zależności od portfela lub dApp.
Token, który nie jest widoczny w interfejsie portfela krypto, nie jest automatycznie utracony. Widoczność tokena, weryfikacja tokena i obsługa swapów to odrębne funkcje. Najpierw sprawdź adres mint oraz on-chain konto tokenów, zanim wyciągniesz wnioski.
Jakie są zalety i ograniczenia tokenów SPL?
Tokeny SPL oferują ustandaryzowany sposób emitowania i używania tokenów w Solanie, jednak wybrana konfiguracja mint oraz authorities mogą mieć istotne konsekwencje. Standard umożliwia wiele zastosowań bez konieczności budowania przez każdą aplikację własnych podstawowych zasad dla tokenów.
Najważniejsze zalety to:
- Ustandaryzowane operacje na tokenach: Konta mint, konta tokenów, transfery i authorities działają według stałych reguł programów tokenów.
- Przewidywalne adresy odbioru: Powiązane konto tokenów (associated token account) zapewnia stały standardowy adres dla połączenia: jeden portfel i jeden mint.
- Możliwość rozbudowy dzięki Token-2022: Mint może zyskać dodatkowe funkcje, takie jak metadane, opłaty transferowe, transfer hooks, confidential transfers lub nieprzenoszalność.
- Szerokie zastosowanie: Tokeny mogą służyć jako środki płatnicze, punkty, token-swapy, cyfrowe przedmioty kolekcjonerskie oraz reguły dostępu.
Istnieją także ograniczenia i ryzyka:
- Metadane nie są domyślnie w każdym mincie: Zwykły mint SPL nie przechowuje w danych bazowych nazwy, symbolu ani obrazu. Do tego potrzebne są dodatkowe metadane.
- Authorities mogą tworzyć centralną kontrolę: Mint authority może tworzyć dodatkową podaż. Freeze authority może blokować konta tokenów przed odbiorem, wysyłką i spalaniem.
- Transakcje kosztują SOL: Każda transakcja wymaga SOL na opłaty sieciowe. Utworzenie nowego konta tokenów może dodatkowo wymagać rent-exempt lamports. Są to lamporty, które muszą pozostać na koncie, aby konto pozostało aktywne.
- Token-2022 wymaga planowania z wyprzedzeniem: Rozszerzenia trzeba wybrać przy tworzeniu mint i nie można ich później zmienić dla tego samego mint.
- Wsparcie różni się w zależności od produktu: Nie każdy portfel krypto lub dApp obsługuje wszystkie metadane, rozszerzenia Token-2022 lub dodatkowe funkcje tokenów.
Opłata transferowa lub transfer hook nigdy nie obowiązują automatycznie dla wszystkich tokenów SPL. Są to cechy konkretnego mint Token-2022. Dlatego dla każdego tokena sprawdzaj konfigurację mint i istniejące authorities.
Podsumowanie
Tokeny SPL to tokeny Solany i są technicznie zarządzane za pomocą kont mint, kont tokenów oraz programów tokenów. Konto mint określa kluczowe zasady tokena, takie jak podaż, miejsca po przecinku oraz istotne uprawnienia. Konta tokenów rejestrują następnie, ile tokenów posiada konkretny właściciel.
Pierwotny Token Program zapewnia standardowe funkcje emisji, transferu i zarządzania. Token-2022 rozwija ten model o dodatkowe możliwości, w tym metadane, opłaty transferowe oraz tokeny nieprzenoszalne. Dzięki temu tokeny SPL mogą być używane jako proste środki płatnicze, punkty, narzędzia DeFi oraz unikalne cyfrowe przedmioty.
Dla użytkowników najważniejszym narzędziem weryfikacji jest adres mint: nazwy i tickery nie są unikalne. Dla twórców kluczowe są wybrane authorities i rozszerzenia, ponieważ wpływają na podaż, przenoszalność oraz przyszłe zarządzanie tokenem.