Réimprimé de Satoshi Nakamoto dans la communauté de liens

Les transferts groupés sont une opération courante dans l'écosystème Solana, en particulier lors du largage aérien de jetons ou de l'envoi de jetons à plusieurs adresses. Ce tutoriel vous montrera comment effectuer des transferts par lots sur le réseau Solana, y compris une introduction aux modèles de compte, aux coûts des transferts par lots, etc.

modèle de compte Solana

Il existe trois types de comptes dans Solana :

  • Compte de données, utilisé pour stocker des données

  • Compte de programme, utilisé pour stocker les programmes exécutables

  • Les comptes natifs font référence aux programmes natifs sur Solana, tels que « Système », « Stake » et « Vote ».

Les comptes de données sont divisés en deux catégories :

  • Tous les comptes dans le système

  • Compte dérivé du programme (PDA)

L'adresse du portefeuille que nous utilisons habituellement appartient à tous les comptes du système dans le compte de données. Nous pouvons signer avec notre propre clé privée, et le système vérifie si la signature est correcte, si la signature est correcte, nous pouvons accéder au compte, par exemple. comme le transfert de fonds et l'appel de contrats.

Relation entre les comptes dans les jetons Solana

Dans la série Ethereum, émettre un token consiste à déployer directement un contrat intelligent, et l'adresse correspondant au contrat est l'adresse du token. Mais Solana est différente.

L'image ci-dessous montre les trois comptes correspondant aux jetons solana :

dans:

programme token : Il s'agit d'un compte de programme et d'un programme exécutable officiellement déployé par spl token.

compte mint : il s'agit d'un compte de jeton créé par l'utilisateur via le programme de jeton, qui est l'adresse de frappe du jeton, ce compte stocke les informations de base du jeton, telles que la fourniture du jeton, l'adresse pour les autorisations de frappe et de gel, et le. nombre décimal du jeton.

Compte token : fait référence au compte token de l'utilisateur. Chaque détenteur de token dispose d'un compte token spécifique, qui enregistre le solde et les informations associées du token spécifique du titulaire. Par exemple, si Alice possède à la fois des jetons USDT et Slerf, elle aura respectivement deux comptes symboliques, dont l'un enregistre le solde de l'USDT et l'autre enregistre le solde de Slerf. Le compte est créé en liant l'adresse de l'utilisateur et le compte token.

En fait, lorsque nous envoyons un jeton à une adresse, le programme calcule d'abord le compte de jeton pour le jeton sous l'adresse de l'utilisateur et enregistre les modifications des données de solde dans le compte de jeton.

compte solana louer

Dans le modèle économique Solana, l'établissement d'un compte symbolique nécessite de payer un certain montant de loyer à la chaîne. Les utilisateurs peuvent également fermer un compte symbolique sous leur propre adresse pour récupérer le loyer. Lors du recyclage, ils doivent faire attention à l'existence de l'actif symbolique. 0, sinon ils perdront des actifs.

Lorsqu'une adresse Solana accepte un certain jeton, un compte de jeton doit être créé sous l'adresse pour stocker les informations sur le jeton, le solde et d'autres informations. Si le destinataire n'en a pas, l'expéditeur peut créer un compte token pour le destinataire.

Les frais de stockage de location sur Solana sont de 0,00000348 SOL par octet. La taille des données du portefeuille est de 586 octets et les frais de location sont d'environ 0,002 SOL.

Coût du transfert groupé

En comprenant le modèle de compte ci-dessus, nous pouvons savoir combien coûtera une transaction de transfert de jetons et où ces coûts seront dépensés.

Si nous transférons des jetons Slerf vers 10 adresses, et si 10 n'acceptent jamais le jeton, alors notre coût est de 0,02 sol, plus les frais en chaîne pour le transfert.

Si ces 10 adresses ont déjà accepté Slerf, le coût de transfert n'est que des frais de chaîne négligeables.


Comment transférer de l'argent par lots

Si vous êtes familier avec la programmation, vous pouvez utiliser le SDK officiellement fourni par Solana. Vous pouvez visiter la documentation officielle de Solana pour obtenir des instructions d'utilisation détaillées et un exemple de code.

Ce qui suit est une introduction détaillée sur la façon d'utiliser les outils pour effectuer des transferts par lots sans programmation. SlerfTools est la boîte à outils Solana en un clic la moins chère, la plus rapide et la plus pratique sur l'ensemble du réseau. Elle prend en charge l'émission de pièces, la création d'identifiants de marché openbook et la création de liquidité Raydium. , et supprimer la liquidité, les transactions par lots, etc.

1. Ouvrez d'abord la page de transfert par lots de SlerfTools :

2. Après avoir lié le portefeuille, remplissez la liste d'adresses de jeton et d'adresses de paiement. La liste d'adresses de paiement peut également être complétée en téléchargeant un fichier.

3. Cliquez sur Suivant et l'interface de confirmation suivante apparaîtra.

4. Après avoir cliqué sur Envoyer la transaction, le transfert est réussi :

5. Une fois le transfert réussi, deux hachages de transaction réussis apparaîtront. Vous pouvez cliquer pour les afficher dans le navigateur de blocs.

Il convient de noter que afin de réduire les coûts en chaîne et d'accélérer la vitesse en chaîne, SlerfTools résume chaque lot de transferts en une seule transaction.
Étant donné que Solana vise à accélérer la transmission de données entre les nœuds, chaque transaction est limitée à 1 232 octets et sa taille est limitée à une unité de transmission MTU d'ipv6. Le nombre de transferts dans chaque lot doit donc être limité.

Grâce à plusieurs tests, nous avons conclu que la valeur optimale du nombre de transferts par transaction est la suivante : pour les nouvelles adresses (c'est-à-dire les adresses qui n'ont pas reçu ce jeton auparavant), chaque transfert par lots comprend jusqu'à 9 adresses de réception pour les anciennes adresses ; (C'est-à-dire l'adresse qui a déjà reçu ce jeton), chaque transfert par lots peut contenir jusqu'à 19 adresses de réception. Les tentatives de transfert supérieures à ces nombres recommandés peuvent entraîner un échec.

La raison pour laquelle il y a moins de premiers est celle mentionnée dans l'article. Lors de la réception d'un transfert de jeton, une adresse qui n'a jamais reçu ce jeton doit créer un compte de jeton, qui occupe une partie de la taille de la transaction.