Capitalisation boursière: $3.6587T -0.270%
Volume(24h): $120.0343B -44.420%
Indice de peur et de cupidité:

69 - Avidité

  • Capitalisation boursière: $3.6587T -0.270%
  • Volume(24h): $120.0343B -44.420%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.6587T -0.270%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment créer un contrat intelligent multi-sesnd ou aérien?

Un contrat intelligent multi-sens permet une distribution de jetons efficace à plusieurs adresses dans une seule transaction, réduisant les coûts de gaz et rationalisant des publications aériennes ou récompensez les campagnes sur Ethereum et EVM compatibles.

Jul 13, 2025 at 11:08 am

Comprendre les contrats intelligents multi-sesnd et aérienne

Un contrat Smart Multi-Send ou Airdrop est un type de contrat basé sur Ethereum qui permet le transfert efficace de jetons à plusieurs destinataires dans une seule transaction. Cette méthode réduit considérablement les coûts de gaz par rapport à l'envoi de transactions individuelles. Les développeurs utilisent souvent cette approche lors du lancement de distributions de jetons, de campagnes de marketing ou de systèmes de récompense.

Dans le contexte des blockchains compatibles de la machine virtuelle Ethereum (EVM) , tels que Binance Smart Chain, Polygon ou Avalanche, le déploiement de ces contrats suit des principes similaires. L'idée principale consiste à créer une fonction qui itère à travers un tableau d'adresses et envoie une quantité spécifiée de jetons à chacun.

Configuration de votre environnement de développement

Avant d'écrire votre contrat, assurez-vous que les outils nécessaires sont installés:

  • REMIX IDE : un compilateur de solidité basé sur un navigateur et un environnement de développement.
  • Metamask : pour interagir avec les réseaux de blockchain et la signature des transactions.
  • Node.js & hardhat / truffe : facultatif pour les tests et le déploiement locaux avancés.
  • Token ERC-20 : assurez-vous que vous disposez d'un jeton ERC-20 déployé ou utilisez une version testnet.

Une fois que tout est configuré, connectez Metamask à un réseau de test comme Ropsten , Goerli ou Sépolia pour éviter de dépenser de l'ETH réel pendant les tests.

Écrire le contrat intelligent dans Solidity

Vous trouverez ci-dessous un exemple de base d'un contrat intelligent multi-sens écrit en solidité :

 // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface ierc20 {

function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

}

contrat multisender {

address public owner; constructor() { owner = msg.sender; } function multiSendTokens(address _tokenAddress, address[] memory _recipients, uint256[] memory _amounts) public { require(_recipients.length == _amounts.length, 'Recipient and amount arrays must match'); IERC20 token = IERC20(_tokenAddress); for (uint256 i = 0; i < _recipients.length; i++) { require(token.transferFrom(msg.sender, _recipients[i], _amounts[i]), 'Token transfer failed'); } }

}

Ce contrat définit une fonction multiSendTokens qui accepte une adresse de jeton ERC-20 , un éventail d' adresses du destinataire et un éventail de montants de jeton correspondants. Il utilise transferFrom , qui oblige les utilisateurs à approuver d'abord le contrat pour dépenser leurs jetons via la fonction approve() sur le contrat de jeton.

Déploiement du contrat intelligent

Pour déployer le contrat:

  • Ouvrez REMIX IDE et créez un nouveau fichier nommé MultiSender.sol .
  • Collez le code ci-dessus dans l'éditeur.
  • Passez à l'onglet «compilateur de solidité» et compilez le contrat.
  • Accédez à l'onglet «Deploy & Exécuter les transactions» .
  • Sélectionnez l'environnement approprié - Choisissez un fournisseur injecté - Metamask .
  • Cliquez sur Déployer et confirmez la transaction dans Metamask.

Après le déploiement, copiez l'adresse du contrat pour référence future.

Approuver les jetons et exécuter la carte aérienne

Avant d'appeler multiSendTokens , l'utilisateur doit approuver le contrat pour dépenser ses jetons:

  • Interagissez avec le contrat de jeton ERC-20 à l'aide de Metamask ou Remix.
  • Appelez la fonction approve() avec l' adresse du contrat et un montant de jeton suffisant.
  • Confirmez la transaction d'approbation.

Une fois approuvé, appelez la fonction multiSendTokens() à partir du contrat MultiSender avec les paramètres suivants:

  • _tokenAddress : Adresse du jeton ERC-20.
  • _recipients : tableau d'adresses de portefeuille.
  • _amounts : tableau des montants de jeton à envoyer à chaque destinataire.

Assurez-vous que les deux tableaux sont de longueur égale et correspondent correctement.

Dépannage des problèmes communs

  • Retour des erreurs : se produisent souvent en raison de longueurs de tableau dépareillées ou d'approbations insuffisantes.
  • Hors du gaz : l'envoi à trop d'adresses peut dépasser les limites de gaz de bloc. Envisagez de regrouper en petits groupes.
  • Adresse de jeton incorrecte : Vérifiez à double l'adresse de jeton utilisée dans le contrat.
  • Le transfert a échoué : n'indique aucune approbation ou un solde de jeton insuffisant.

Si la transaction revient, analysez la trace de transaction dans Etherscan pour identifier où l'exécution a échoué.

Questions fréquemment posées

Q1: Puis-je réutiliser le même contrat pour plusieurs Airdrops?

Oui. Tant que le contrat reste financé et que les approbations de jetons sont valides, il peut être réutilisé pour les parachts aériens ultérieurs en appelant à nouveau la fonction multiSendTokens() .

Q2: Et si je veux envoyer ETH natif au lieu de jetons?

Vous devrez modifier le contrat pour accepter et distribuer ETH à l'aide msg.value et payable(recipient).transfer(amount) dans une boucle. Cependant, la boucle sur les transferts de la monnaie native augmente la consommation de gaz et le risque de défaillance.

Q3: Comment puis-je traiter efficacement des milliers de paramètres aériens?

Cassez la liste en morceaux plus petits (par exemple, 100–200 par lot) pour rester dans les limites de gaz. Alternativement, considérez les solutions hors chaîne comme les contrats de dépôt Merkle, qui permettent aux utilisateurs de réclamer des jetons individuellement.

Q4: Est-il sûr d'approuver des jetons illimités au contrat?

L'approbation des jetons illimités présente un risque potentiel si le contrat a des vulnérabilités ou une intention malveillante. Passez toujours en revue le code source du contrat et envisagez d'approuver uniquement le montant exact nécessaire pour la carte aérienne.

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Voir tous les articles

User not found or password invalid

Your input is correct