getMinimumBalanceForRentExemption vous permet de calculer ce solde minimum de lamports requis pour qu’un compte de taille de données spécifique soit exempt de loyer.
Dans Solana, les comptes doivent maintenir un solde minimum pour couvrir les coûts de stockage au fil du temps, un concept connu sous le nom de loyer. Les comptes détenant un solde équivalent à deux ans de paiements de loyer sont considérés comme “exempt de loyer” et leur solde n’est pas diminué par le loyer.
Cas d’utilisation courants
- Création de compte : Avant de créer un nouveau compte (par exemple, pour un nouveau compte de jetons, une adresse dérivée du programme ou un stockage de données personnalisé), utilisez cette méthode pour déterminer les lamports nécessaires à allouer pour le rendre exempt de loyer dès le départ. Cela empêche le compte d’être collecté comme déchet si son solde descend trop bas.
- Dimensionnement dynamique des comptes : Si votre application gère des comptes dont la taille des données peut augmenter, vous pouvez utiliser cette méthode pour vérifier périodiquement si des lamports supplémentaires sont nécessaires pour maintenir l’exemption de loyer.
- Estimation des coûts : Estimez le coût en SOL associé au déploiement de programmes ou à la création de comptes de données de différentes tailles.
- Intégration des portefeuilles et des SDK : Les portefeuilles et les SDK l’utilisent pour s’assurer qu’ils financent correctement les nouveaux comptes.
Paramètres de requête
-
dataLength(usize, requis) : La longueur des données du compte en octets. C’est le principal facteur déterminant le minimum exempt de loyer.- Exemple :
165(pour un compte SPL Token standard).
- Exemple :
-
commitment(object, optionnel) : Spécifie le niveau d’engagement pour la requête. Si omis, l’engagement par défaut du nœud RPC est utilisé.- Champs :
commitment(chaîne) : par exemple,"finalized","confirmed", ou"processed".
- Champs :
Structure de réponse
Le champresult de la réponse JSON-RPC sera un u64 (entier non signé de 64 bits) représentant le nombre minimum de lamports requis pour qu’un compte avec le dataLength spécifié soit exempt de loyer.
Exemples
1. Obtenir l’exemption de loyer pour un compte de jetons standard (165 octets)
Cet exemple interroge le solde minimum nécessaire pour qu’un compte SPL Token typique (qui a une taille de données de 165 octets) soit exempt de loyer.2. Obtenir l’exemption de loyer pour un compte à zéro octet
Cela montre l’exemption de loyer de base pour un compte sans données, souvent le minimum absolu pour tout compte.Conseils pour les développeurs
- Le loyer varie en fonction de la taille des données : Plus les données du compte sont grandes, plus le minimum exempt de loyer sera élevé.
- Paramètre du réseau : Le coût sous-jacent du loyer (lamports par octet-an) est un paramètre du réseau qui peut théoriquement changer via un vote du cluster, bien que cela soit rare. La méthode
getMinimumBalanceForRentExemptionrenverra toujours la valeur actuelle basée sur l’état du cluster. - Lamports vs. SOL : La réponse est en lamports. Rappelez-vous qu’1 SOL = 1 000 000 000 lamports.
- Essentiel pour la longévité : Assurer que les comptes sont exempts de loyer est crucial pour la persistance à long terme des données sur la blockchain Solana.
getMinimumBalanceForRentExemption pour gérer efficacement le loyer des comptes dans vos applications Solana.