Que sont les SPL Tokens et comment fonctionnent-ils sur Solana ?

Que sont les SPL Tokens ?
Les SPL Tokens sont des tokens émis et gérés sur la blockchain Solana, conformément à la norme de tokens de Solana. SPL signifie Solana Program Library, un ensemble de programmes standards qui exécutent des fonctions sur Solana.
Un token peut, par exemple, représenter un moyen de paiement, un système de points, un objet de collection numérique ou un autre droit au sein d’une application. Sur Solana, ces tokens ne sont pas stockés comme un objet distinct dans un wallet crypto. La blockchain les suit dans des comptes spécifiques, soumis aux règles d’un programme de tokens.
L’enregistrement le plus important est le mint account. Il s’agit du dossier technique unique d’un token. Le mint account précise notamment :
- combien de tokens existent au total ;
- combien de décimales le token utilise ;
- qui est autorisé à émettre de nouveaux tokens ;
- si quelqu’un peut geler des token accounts.
Chaque mint account possède sa propre adresse de mint. Cette adresse constitue la seule identification technique fiable d’un token. En effet, un nom ou un symbole de ticker peut être utilisé par plusieurs tokens.
Exemple : Deux tokens peuvent afficher le même nom et le même ticker dans un wallet crypto. Pourtant, il s’agit de tokens différents si leurs adresses de mint diffèrent. Vérifiez donc toujours l’adresse de mint avant de recevoir, d’envoyer ou d’utiliser un token.
Un nom, un ticker et une image ne figurent pas par défaut dans le mint account. Ces informations sont appelées métadonnées : des informations complémentaires qui rendent un token plus lisible pour les utilisateurs. Les métadonnées peuvent, par exemple, être ajoutées dans un compte séparé via Metaplex.
À retenir
- Les SPL Tokens sont des tokens sur la blockchain Solana.
- Le mint account est le dossier technique unique d’un token.
- L’adresse de mint est l’identification unique et fiable d’un token.
- Un wallet crypto suit les SPL Tokens via des token accounts distincts.
- Les noms, tickers et images sont des métadonnées et ne figurent pas par défaut dans un mint account.
Comment fonctionnent les SPL Tokens sur Solana ?
Les SPL Tokens fonctionnent via des mint accounts et des token accounts, gérés selon des règles fixes par un programme de tokens. Solana dispose, à cet effet, de deux programmes importants : le Token Program d’origine et le Token Extension Program, aussi appelé Token-2022.
Le Token Program d’origine fournit les fonctions de base pour les tokens. Token-2022 contient les mêmes fonctions essentielles et peut ajouter des propriétés supplémentaires, telles que des frais de transfert, des métadonnées ou des tokens non transférables.
Le mint account décrit le token dans son ensemble. Un token account enregistre ensuite la quantité de ce token détenue par un propriétaire donné. Un token account ne peut contenir qu’un seul mint et a un seul propriétaire.
Un wallet crypto peut donc posséder plusieurs token accounts. Un même wallet peut également détenir plusieurs token accounts pour un même mint, même si cela n’est généralement pas nécessaire.
Pour la combinaison habituelle d’un wallet et d’un mint, il existe un associated token account, souvent abrégé en ATA. Il s’agit du token account standard, dérivé de manière prévisible à partir de l’adresse du wallet et de l’adresse de mint. Ainsi, une application peut retrouver l’adresse de réception habituelle pour un token spécifique.
Lors d’un transfert, le programme de tokens déplace un solde du token account de l’expéditeur vers le token account du destinataire. Les deux comptes doivent correspondre au même mint. Si le destinataire n’a pas encore d’ATA pour ce token, ce compte peut être créé dans la même transaction.
Une adresse de mint n’est donc pas une adresse de réception. Pour recevoir des SPL Tokens, on utilise normalement l’adresse du wallet afin de déterminer l’ATA approprié, ou bien on utilise directement le token account correct. Un transfert vers le mint account lui-même échoue.
Quels types de SPL Tokens existent ?
Les SPL Tokens peuvent être fongibles ou non fongibles, mais cette distinction ne décrit pas toutes les possibilités sur Solana. Les caractéristiques d’un mint spécifique, telles que l’offre, les décimales, les métadonnées, les autorités et d’éventuelles extensions, déterminent en définitive le comportement du token.
En plus des tokens fongibles classiques et des NFT, il existe aussi des formes programmables ou semi-fongibles. Token-2022 peut également ajouter des propriétés qui modifient le transfert ou l’usage d’un token, par exemple des frais de transfert ou une règle qui limite les transferts.
Que sont les SPL Tokens fongibles ?
Les SPL Tokens fongibles se composent d’unités interchangeables issues du même mint. À l’échelle du protocole, une unité possède les mêmes caractéristiques que toute autre unité de ce même mint.
Cela ressemble aux euros : un euro est, en principe, interchangeable avec un autre euro. Pour un token fongible, ce n’est pas l’unité précise reçue qui importe, mais le nombre d’unités détenues.
Le mint account détermine notamment l’offre et le nombre de décimales. Les décimales définissent la manière dont les plus petites unités sont affichées pour les utilisateurs. Un token peut, par exemple, être affiché en nombres entiers, mais aussi en fractions.
Les tokens fongibles peuvent notamment être mintés, transférés, délégués et brûlés. Déléguer signifie que le propriétaire accorde à une autre partie une autorisation limitée d’utiliser des tokens en son nom. Brûler signifie que des tokens sont définitivement retirés de l’offre.
Lorsqu’un mint dispose d’une freeze authority, la partie habilitée peut geler un token account spécifique ou le réactiver. Un compte gelé ne peut pas recevoir, envoyer ou brûler des tokens.
Les SPL Tokens fongibles peuvent être utilisés comme monnaie, points ou tokens échangés dans un pool d’AMM. Un AMM est un système qui exécute des swaps de tokens via un pool de tokens, plutôt que via une liste d’ordres traditionnelle avec acheteurs et vendeurs.
Fongible ne signifie pas automatiquement qu’un token est librement transférable ou qu’il n’entraîne pas de coûts supplémentaires. Un mint Token-2022 peut, par exemple, inclure des frais de transfert ou des règles additionnelles pour un transfert.
Que sont les SPL Tokens non fongibles ?
Les SPL Tokens non fongibles sont des tokens basés sur SPL dont un exemplaire peut être traité comme unique. Une application connue est le NFT, un token qui représente généralement un objet numérique unique ou une preuve.
Un NFT traditionnel basé sur SPL peut techniquement être créé avec un mint ayant zéro décimale, dont une unité est mintée, puis dont la mint authority est supprimée. Les métadonnées et une norme de token appropriée permettent aux wallets et aux places de marché de reconnaître le token comme un NFT. La mint authority est l’autorisation de créer de nouvelles unités. Une fois supprimée, l’offre ne peut plus être augmentée.
Les NFT utilisent généralement des métadonnées pour des informations telles qu’un nom, une image, une description, des créateurs, une collection et une norme de token. Ces informations clarifient quel objet numérique le token est censé représenter.
Il existe plusieurs formes de NFT. Les tokens non fongibles classiques, les NFT programmables et les éditions de NFT peuvent chacun appliquer des règles différentes. Les NFT programmables peuvent, par exemple, imposer des règles de transfert, de verrouillage ou de destruction.
Token-2022 peut également prendre en charge des tokens de type NFT, par exemple avec zéro décimale, des métadonnées intégrées ou un paramètre rendant un token non transférable. Toutefois, chaque actif non fongible sur Solana n’est pas un SPL-token, car il existe aussi des modèles d’actifs distincts.
À quoi servent les SPL Tokens ?
Les SPL Tokens servent à représenter des droits de propriété numériques et d’autres formes de valeur ou de droits sur Solana. La tokenisation signifie ici qu’un droit ou un objet est enregistré sous forme de token numérique.
Les tokens fongibles peuvent, par exemple, servir de moyen de paiement, de points ou d’autres unités transférables au sein d’une application. Les utilisateurs conservent ces tokens dans des token accounts et peuvent les envoyer à d’autres utilisateurs.
Les SPL Tokens constituent également une base de la Finance Décentralisée, terme générique désignant les applications financières sur une blockchain. Dans un pool AMM, les utilisateurs peuvent, par exemple, échanger un token contre un autre token.
Les actifs SPL de type NFT peuvent représenter des objets de collection numériques, des éditions limitées ou des objets de jeu. Un token non transférable peut aussi servir de preuve d’un achievement ou d’une récompense de parrainage, car le destinataire ne peut pas le transmettre facilement.
Token-2022 rend possibles des usages supplémentaires. Pensez à des tokens avec des frais de transfert, des métadonnées obligatoires, un accès token-gated ou des confidential transfers. Avec l’accès token-gated, la possession d’un certain token détermine si une personne obtient l’accès à une fonction ou à un environnement. Les confidential transfers sont des transferts où certaines données de transaction peuvent être masquées.
Le fait qu’un token puisse techniquement représenter un actif ou un droit ne signifie pas automatiquement que le détenteur est propriétaire au sens juridique, qu’il existe une convertibilité fixe ou un droit à des revenus. Cela dépend de la partie émettrice du token, des conditions et de la législation applicable.
Comment créer et gérer un SPL Token ?
Créer un SPL Token commence par la création et l’initialisation d’un mint account sous le programme de tokens choisi. Les choix effectués à ce stade sont importants, car ils déterminent la manière dont le token pourra ensuite être utilisé et géré.
-
Choisir le programme de tokens
Choisissez entre le Token Program d’origine et Token-2022. Le programme d’origine fournit les fonctions standards. Token-2022 convient si vous avez besoin, dès le départ, de propriétés supplémentaires, telles que des métadonnées intégrées, des frais de transfert ou la non-transférabilité. -
Créer le mint account
Le mint account devient le dossier technique unique du token. Un nouveau mint commence avec une offre de zéro token. -
Définir les paramètres
Définissez le nombre de décimales et déterminez qui obtient la mint authority. Vous pouvez aussi définir une freeze authority. Ces choix déterminent notamment si de nouveaux tokens peuvent être émis et si des token accounts peuvent être gelés. -
Choisir les extensions à l’avance avec Token-2022
Avec Token-2022, vous devez déterminer à l’avance quelles extensions nécessitent de l’espace de compte et lesquelles doivent être définies avant l’initialisation du mint. Certaines extensions ne peuvent pas être ajoutées ultérieurement, tandis que d’autres extensions, ou leurs paramètres, peuvent encore être ajoutés ou ajustés sous certaines conditions. Les possibilités varient selon l’extension. -
Ajouter des métadonnées lisibles
Pour un nom, un ticker et une image, vous pouvez utiliser Metaplex Token Metadata. Avec Token-2022, l’extension TokenMetadata intégrée peut également être utilisée. Déterminez aussi qui pourra modifier les métadonnées ultérieurement. -
Minter et distribuer les tokens
Seule la mint authority peut créer de nouvelles unités. Les tokens sont mintés vers des token accounts, puis peuvent être transférés vers des token accounts d’autres utilisateurs. -
Gérer soigneusement les autorisations
Vous pouvez définir un delegate limité, révoquer un delegate, ajuster les authorities, brûler des tokens et fermer des token accounts vides. La suppression d’une authority est, en principe, permanente. Vérifiez donc les paramètres avant de signer une transaction.
Une mint authority existante peut augmenter l’offre. Une freeze authority existante peut bloquer des comptes. Ces autorisations sont fonctionnelles, mais elles confèrent également à leur détenteur une forte influence sur le token.
Quel rôle joue le Solana Token Program ?
Le Solana Token Program gère les actions standards pour les SPL Tokens, mais techniquement il existe deux programmes de tokens distincts. Le Token Program d’origine offre les fonctions de base connues, tandis que Token-2022 combine ces mêmes fonctions essentielles avec des extensions.
Ces programmes contrôlent notamment la création des mints et des token accounts, le minting, les transferts, la délégation, la destruction, la fermeture de comptes et la gestion des authorities. Ils veillent donc à ce que les opérations sur tokens soient exécutées conformément aux règles fixes du mint choisi.
Les programmes Solana peuvent également appeler le programme de tokens afin d’exécuter des opérations sur tokens depuis une application. Ainsi, une application peut, par exemple, déclencher un transfert de tokens, tandis que le programme de tokens vérifie si les comptes concernés et les autorisations sont corrects.
Token-2022 ajoute notamment des frais de transfert, des transfer hooks, des métadonnées, un comportement non transférable, des confidential transfers, des mints portant intérêt, la mise en pause et des groupes de tokens. Un transfer hook est une règle supplémentaire qui, lors d’un transfert, peut exécuter une logique additionnelle.
Le programme de tokens contrôle les règles techniques d’un token. Il n’évalue pas de manière autonome si un token a une valeur économique, est fiable ou respecte des promesses juridiques.
Quels wallets prennent en charge les SPL Tokens ?
Phantom et Solflare prennent en charge les SPL Tokens sur Solana, mais la prise en charge exacte peut varier selon le token et la fonctionnalité. Un wallet crypto doit pouvoir traiter les token accounts pertinents pour recevoir, afficher ou envoyer un token.
Les tokens pris en charge peuvent apparaître automatiquement dans Phantom dès que la transaction de réception est confirmée sur la blockchain. Solflare propose également des fonctions pour recevoir et envoyer des SPL Tokens.
Pour Token-2022, une prise en charge supplémentaire est nécessaire, car le wallet doit pouvoir traiter des transactions avec des mints Token-2022. Même lorsqu’un wallet crypto peut recevoir un token, l’affichage des métadonnées, les swaps, les galeries NFT et les extensions individuelles peuvent varier selon le wallet ou la dApp.
Un token qui n’est pas visible dans l’interface d’un wallet crypto n’est pas automatiquement perdu. La visibilité d’un token, la vérification des tokens et la prise en charge des swaps sont des fonctions distinctes. Vérifiez d’abord l’adresse de mint et le token account on-chain avant de tirer des conclusions.
Quels sont les avantages et les limites des SPL Tokens ?
Les SPL Tokens offrent une manière standardisée d’émettre et d’utiliser des tokens sur Solana, mais la configuration du mint et les authorities choisies peuvent avoir des conséquences importantes. La norme rend possibles de nombreuses applications, sans que chaque application doive construire ses propres règles de base pour les tokens.
Les principaux avantages sont :
- Actions sur tokens standardisées : Les mint accounts, token accounts, transferts et authorities fonctionnent selon des règles fixes des programmes de tokens.
- Adresses de réception prévisibles : Un associated token account fournit une adresse standard fixe pour la combinaison d’un wallet et d’un mint.
- Extensibilité via Token-2022 : Un mint peut obtenir des fonctions supplémentaires, telles que des métadonnées, des frais de transfert, des transfer hooks, des confidential transfers ou la non-transférabilité.
- Large éventail d’usages : Les tokens peuvent être utilisés comme moyens de paiement, points, swaps de tokens, objets de collection numériques et règles d’accès.
Il existe également des limites et des risques :
- Les métadonnées ne sont pas intégrées par défaut dans chaque mint : Un mint SPL classique ne conserve pas de nom, de symbole ou d’image dans les données de base. Des métadonnées supplémentaires sont nécessaires.
- Les authorities peuvent conférer un pouvoir centralisé : Une mint authority peut créer de l’offre supplémentaire. Une freeze authority peut bloquer des token accounts pour la réception, l’envoi et la destruction.
- Les transactions coûtent du SOL : Chaque transaction nécessite du SOL pour les frais de réseau. La création d’un nouveau token account peut, en outre, nécessiter des lamports rent-exempt. Il s’agit de lamports qui doivent rester dans le compte pour le maintenir actif.
- Token-2022 impose d’anticiper : Les extensions doivent être choisies lors de la création du mint et ne peuvent plus être modifiées ensuite pour ce même mint.
- La prise en charge varie selon les produits : Tous les wallets crypto ou dApps ne prennent pas en charge toutes les métadonnées, les extensions Token-2022 ou les fonctions additionnelles des tokens.
Des frais de transfert ou un transfer hook ne s’appliquent jamais automatiquement à tous les SPL Tokens. Il s’agit de propriétés d’un mint Token-2022 spécifique. Vérifiez donc, pour chaque token, la configuration du mint et les authorities présentes.
En résumé
Les SPL Tokens sont les tokens de Solana et sont gérés techniquement via des mint accounts, des token accounts et des programmes de tokens. Le mint account définit les règles essentielles d’un token, telles que l’offre, les décimales et des autorisations importantes. Les token accounts enregistrent ensuite combien de tokens un propriétaire spécifique détient.
Le Token Program d’origine fournit les fonctions standards pour l’émission, le transfert et la gestion. Token-2022 s’appuie sur cette base avec des possibilités supplémentaires, notamment des métadonnées, des frais de transfert et des tokens non transférables. Ainsi, les SPL Tokens peuvent être utilisés pour des moyens de paiement simples, des points, des applications de Finance Décentralisée et des objets numériques uniques.
Pour les utilisateurs, l’adresse de mint est le principal outil de contrôle : les noms et tickers ne sont pas uniques. Pour les créateurs, les authorities et extensions choisies sont cruciales, car elles influencent l’offre, la transférabilité et la gestion future d’un token.