Comptes

Les comptes dans Solana sont utilisés pour stocker des états. Ils constituent un élément essentiel pour le développement sur Solana.

Faits

Fiche d'Information

  • Les comptes sont utilisés pour stocker des données
  • Chaque compte a une adresse unique
  • Les comptes ont une taille maximale de 10MB (10 Mega Bytes)
  • Les comptes des adresses dérivées d'un programme (PDA) ont une taille maximale de 10KB (10 Kilo Bytes)
  • Les comptes des adresses dérivées d'un programme (PDA) peuvent être utilisés pour signer au nom d'un programme
  • La taille des comptes est fixée au moment de leur création, mais elle peut être ajustée en utilisant la fonctionnalité reallocopen in new window
  • Le stockage des données sur un compte est payé par une rente
  • Le propriétaire par défaut d'un compte est le programme système (System Program)

Examen plus approfondi

Le modèle d'un compte

Il existe 3 types de comptes sur Solana :

  • Les comptes de données pour le stockage des données
  • Les comptes de programmes pour le stockage des programmes exécutables
  • Les comptes natifs pour les programmes natifs de Solana tels que System, Stake, et Vote

Il existe deux types de comptes de données :

  • Les comptes appartenant au système
  • Les comptes PDA (adresse dérivée du programme)

Chaque compte a une adresse (généralement une clé publique) et un propriétaire (adresse d'un compte de programme). La liste complète des champs qu'un compte stocke est énuméré ci-dessous.

ChampsDescription
lamportsLe nombre de lamports appartenant à ce compte
ownerLe programme propriétaire de ce compte
executableIndique si ce compte peut traiter des instructions
dataLe tableau d'octets de données brutes stocké par ce compte
rent_epochLa prochaine époque à laquelle ce compte doit payer une rente

Il existe quelques règles importantes concernant la propriété des comptes :

  • Seul le propriétaire d'un compte de données peut modifier ses données et débiter les lamports
  • Tout le monde est autorisé à envoyer des lamports sur un compte de données
  • Le propriétaire d'un compte peut désigner un nouveau propriétaire si les données de celui-ci sont mises à zéro

Les comptes de programme ne stockent pas d'état.

Par exemple, si vous avez un programme de comptage qui permet d'incrémenter un compteur, vous devez créer deux comptes, un compte pour stocker le code du programme, et un autre pour stocker le compteur.

Pour éviter qu'un compte soit supprimé, vous devez payer une rente.

Rente

Le stockage des données sur les comptes coûte des SOL, et il est financé par ce qu'on appelle une rente. Si vous maintenez un solde minimum équivalent à deux années de rente sur un compte, celui-ci sera exempté du paiement de cette rente. Vous pouvez récupérer la rente en fermant le compte et en renvoyant les lamports dans votre portefeuille.

La rente est payée à deux moments différents :

  1. Lorsqu'il est référencé par une transaction
  2. Une fois par époque

Un pourcentage des rentes collectées par les comptes est détruit, tandis que le reste est distribué aux comptes de vote à la fin de chaque slot.

Si le compte ne dispose pas d'assez d'argent pour payer la rente, le compte sera supprimé ainsi que ses données.

Il est également important de noter que les nouveaux comptes doivent être exempts de rente.

Autres Ressources

Crédit

Ce concept de base est attribué à Pencilflip. Suivez-le sur Twitteropen in new window.

Last Updated:
Contributors: cryptoloutre